1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

[레벨:30]아별

2010.04.11 16:44

안녕하세요? 자주되는 질문중에 하나군요..

그래서 이참에 해당 기능을 아별툴 기능에 추가했습니다. (20100411-1 버전을 설치해야합니다.)

아래처럼 사용하면 원하는 값을 찾을 수 있습니다.

=sumbyCellColor(대상셀범위,찾을셀음영색이 있는 셀)

 

첨부파일을 열어보시면 사용자 정의함수를 확인할 수 있습니다.

abyul_QnA_SumByCellColor_simple_20100411-1.xls

 

참고하세요.

 

1. 실제 아별툴에 적용된 코드는 좀 복잡합니다. 에러처리가 포함되어 있거든요.

2. 아별툴에는 아래의 사용자 정의 함수가 더 있습니다.

     sumbyCellColor( 대상 셀범위, 찾을 셀 음영색이 지정된 셀 또는 색상 값) : 특정셀 음영색이 지정된 셀들의 합계를 구함.

     countbyCellColor( 대상 셀범위, 찾을 셀 음영색이 지정된 셀 또는 색상 값) : 특정셀 음영색이 지정된 셀의 개수를 구함.

     sumbyFontColor( 대상 셀범위, 찾을 폰트색이 지정된 셀 또는 색상 값) : 특정 폰트색이 지정된 셀의 합계를 구함.

     countbyFontColor( 대상 셀범위, 찾을 폰트색이 지정된 셀 또는 색상 값) : 특정  폰트색이 지정된 셀의 개수를 구함.

 

첨부파일에 작성된 사용자 정의 함수의 코드는 아래와 같습니다.

 

 

Option Explicit
 
# 특정 셀 음영색을 기준으로 합계 내는 사용자 정의 함수
Function sumByCellColor(targetRange As Range, rngFind As Range)
    Dim i As Integer
    Dim r As Range
    Dim doubleSum As Double
    Dim doubleColor As Double
    '# 찾을 색상값을 추출하여 변수에 지정
    doubleColor = rngFind.Interior.Color
    '# 대상범위 셀을 순환하면서 해당 음영셀이면 합계에 더함
    For Each r In targetRange
        If r.Interior.Color = doubleColor Then
            doubleSum = doubleSum + r.Value
        End If
    Next r
    '# 합계를 결과로 돌려줌.
    sumByCellColor = doubleSum
End Function

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)