안녕하세요.
자주 듣는 질문은 아니지만 벌써 여러 번 받은 질문 중 하나를 정리하려고 합니다.
셀 배경색을 기준으로 합계를 구하기 입니다.
실습 파일 다운로드
완성 파일 다운로드
담당자 A, B, C의 담당 항목이 무작위로 배치되어 있어 구분을 셀 배경색으로 했습니다.
담당 항목이 일정한 규칙으로 지정되어 있다면 엑셀 기본 기능이나 함수를 이용해 합계를 구할 수 있지만, 무작위로 선택되어 있어 셀 배경색을 기준으로 결과값을 구해야만 하는 상황입니다.
이 경우엔 VBA를 이용해 어렵지 않게 결과값을 구할 수 있습니다.
여러 가지 색상으로 구분되어 있을 때도 사용할 수 있도록 사용자 정의 함수를 만들어 결과값을 구하겠습니다.
단축키 <Alt + F11>을 눌러 VBA 편집기를 실행합니다.
[삽입]-[모듈]을 선택합니다.
모듈이 추가된 뒤 다시 [삽입]-[프로시저]를 선택합니다.
[프로시저 추가] 대화상자에서 새로 추가할 사용자 정의 함수 이름으로 SumColor를 적고, [형식]에서 Function을 선택한 뒤 [확인]을 누릅니다.
인수 두 개를 지정합니다.
첫번째 인수 범위는 합을 구할 셀 범위를 지정하고, 두번째 인수 조건셀은 합계를 구할 셀 배경색이 지정된 셀을 선택합니다.
코드를 작성합니다.
Public Function SumColor(범위 As Range, 조건셀 As Range)
조건색 = 조건셀.Interior.ColorIndex
For Each 비교셀 In 범위
If 비교셀.Interior.ColorIndex = 조건색 Then
결과 = 결과 + 비교셀.Value
End If
Next 비교셀
SumColor = 결과
End Function
간단하게 사용자 정의 함수가 만들어 졌습니다.
이제 VBA 편집기를 닫고, 엑셀로 돌아가 만든 함수를 사용합니다.
[G2] 셀에 커서를 두고 =sum을 입력하면 표시되는 함수 목록에서 SumColor를 더블클릭합니다.
단축키 <Shift + F3>을 눌러 함수 인수 대화상자를 나타냅니다.
범위 인수에는 [B2:D6] 셀 범위를 절대 참조하여 나타내고, 조건셀 인수에는 [F2] 셀을 나타냅니다.
[확인]을 눌려 결과를 봅니다.
[채우기] 기능을 이용해 [G3], [G4] 셀 값도 구합니다.
마지막 작업으로 사용자 정의 함수를 포함하여 저장하기 위해 [파일]-[다른 이름으로 저장]을 선택해서 파일 형식을 [Excel 매크로 사용 통합 문서(*.xlsm)]으로 저장합니다.
필요하신 분들께 도움이 되길 바랍니다.
'엑셀 매크로&VBA' 카테고리의 다른 글
셀 배경색 기준으로 합계 구하기 (0) | 2021.01.18 |
---|---|
전체 병합 기능을 응용한 열방향 전체 병합 기능 (0) | 2020.09.14 |
숫자를 영어로 나타내기 (0) | 2020.08.31 |
같은 내용을 묶어서 합치기3(중복된 항목 제거, 정렬, VBA) (0) | 2020.06.26 |
같은 내용을 묶어서 합치기2(배열) (0) | 2020.06.25 |
같은 내용을 묶어서 합치기(VBA) (0) | 2020.06.25 |