반응형

엑셀에서 같은 조건을 가진 셀의 개수를 구하는 함수는 COUNTIF가 있습니다.VBA를 이용하면 배경색이 같은 셀의 개수를 구할 수 있는 함수를 만들어 사용이 가능하게 됩니다. VBA라고 하면 어렵게 다가올 수도 있지만 Ctrl + C 와 Ctrl + V만 할 줄알면 만들 수 있으므로 쉽게 따라 할 수 있습니다.

배경색 같은 셀 개수 세는 함수 만들기

Excel 을 열고 [Alt + F11] 키를 눌러 Visual Basic 편집기 창을 열어 삽입(I) -> 모듈(M)을 차례로 선택하여 모듈(코드) 입력창을 엽니다.

코드 입력창에 아래의 내용을 복사해서 붙여 넣기 합니다. 블로그에서 바로 복사가 안되면 아래의 TXT 파일을 다운받아 복사하면 됩니다.

Function CountBackColor(range_data As Range,criteria As Range) As Long

Appilcation.Volatile
Dim datax As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax Inrange_data
If datax.Interior.ColorIndex = xcolor Then
CountBackColor = CountBackColor + 1
End If
Next datax
End Function

 

Excel_CountBackColor_Code.txt
0.00MB

이제 Visual Basic 편집기를 닫으면 배경색이 같은 셀의 개수를 세는CountBackColor 함수를 사용할 수 있습니다.

 

배경색 같은 셀의 개수 세는 함수 사용하기

사용하는 방법은 일반적인 엑셀에서 사용하는 다른 함수와 같은데 위의 코드에서 보면

첫줄의 FunctionCountBackColor에서 함수의 이름을 CountBackColor로 정의해 주었기 때문에 아래와 같이 =coun 로 검색만 해도 엑셀에서 원래 존재하던 함수처럼 CountBackColor라는 함수가 보이게 됩니다.

*이 함수명을 바꾸고 싶다면 코드에서 CountBackColor 3개 모두 원하는 이름으로 바꾸어 사용할 수가 있습니다.

아래와 같이 배경색이 여러개인 셀이 있고 각 배경색의 개수를 구해야 하는 작업을 해야 한다면

G3셀에 =CountBackColor(B2:D15,G2)와 같이 입력한 뒤에 G2셀에 왼쪽 표에서 원하는 배경색을 [서식 복사]를 이용하여 붙여 넣기 하면 배경색 별로 셀의 개수를 구할 수 있습니다.

VBA로 생성한 함수를 이 파일에서 계속 사용하고 싶다면 엑셀 파일을 저장할 때 아래와 같이 [파일 형식(T)]에서 Excel 매크로 사용 서식 파일(*.Xltm)로 바꾸어 저장하면 이 파일에서는항상 CountBackColor 함수를 사용할 수 있게 됩니다.

반응형