반응형

첫 번째 이야기: 색깔 있는 셀, 5초 만에 세는 방법

안녕하세요, 물류 와 코딩 사이의 경계에서 성장하고 있는 물류아재 칵칵입니다.

오늘은 첫 게시글에서 말씀드렸던 '엑셀 VBA'의 첫 번째 과제를 보여드리려고 합니다.

업무를 하다 보면 종종 특정 기준에 맞춰 셀에 색칠을 하고, 그 개수를 세야 할 때가 있죠.

예를 들어, 재고 실사를 할 때 문제가 있는 제품에 노란색을 칠하고 그 개수를 세는 것처럼요.

 

하지만 엑셀에는 아쉽게도 '색깔로 세기' 함수가 기본으로 제공되지 않습니다.

일일이 필터를 걸어 세는 것도 번거로운 일이죠.

그래서 저는 VBA 매크로를 활용해 이 문제를 해결하는 함수를 직접 만들었습니다.

'CountByColor' 매크로 함수 시연

먼저, 아래 GIF를 통해 제가 만든 함수가 어떻게 작동하는지 보여드릴게요.

 

 

영상에서 보셨듯이, 일반적인 엑셀 함수처럼 '=CountByColor(범위, 기준 셀)' 을 입력하는 것만으로 특정 색상의 셀 개수를 자동으로 세줍니다.

만드는 방법 (Feat. 아주 간단한 VBA 코드)

이 기능은 아주 간단한 VBA 코드를 통해 만들 수 있습니다.

  1. 엑셀에서 개발 도구 탭을 활성화합니다.
  2. Visual Basic을 클릭해 VBA 편집기 창을 엽니다.
  3. 삽입(I) 메뉴에서 모듈(M)을 클릭해 새 모듈을 만듭니다.
  4. 새 모듈에 아래 코드를 복사해서 붙여넣습니다.
VBA
 
Function CountByColor(rng As Range, colorcell As Range) As Long
    Dim cell As Range
    Dim colorindex As Long
    Dim count As Long
    
    '기준 색상의 색상 인덱스 가져오기
    colorindex = colorcell.Interior.Color
    
    '범위 내 색상 비교
    For Each cell In rng
        If cell.Interior.Color = colorindex Then
            count = count + 1
        End If
    Next cell
    
    CountByColor = count
End Function
  1. 이제 엑셀 시트로 돌아와 =CountByColor(셀 범위, 기준이 될 색상 셀)을 입력하면 끝입니다!

이처럼 간단한 VBA 코딩만으로도 반복적인 업무 시간을 크게 줄일 수 있습니다.

다음 글에서는 더 복잡한 엑셀 VBA 팁을 소개해 드릴게요.

긴 글 읽어주셔서 감사합니다.

궁금한 점이 있다면 댓글로 남겨주세요!

 

반응형

+ Recent posts