Vba에서 소계 함수를 사용하는 방법(예제 포함)


Excel의 SUBTOTAL 함수를 사용하여 시트에 표시되는 셀에 대해서만 전체 통계를 계산할 수 있습니다.

VBA에서 다음 기본 구문을 사용하여 SUBTOTAL 함수를 사용할 수 있습니다.

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

이 특정 예에서는 B2:B11 범위에 표시되는 셀에 있는 값의 합계를 계산하고 그 결과를 셀 A16 에 표시합니다.

Subtotal 방법에 대한 첫 번째 인수는 다음과 같은 경우에 사용할 집계 방법을 지정합니다.

  • 1 : 중간
  • 2 : 계정
  • 3 : 계정
  • 4 : 최대
  • 5 : 최소
  • 6 : 제품
  • 7 : STDEV
  • 8 : STDEVP
  • 9 : 합계
  • 10 : VAR
  • 11 : VARP

다음 예에서는 VBA에서 Subtotal 메서드를 실제로 사용하는 방법을 보여줍니다.

예: VBA에서 소계를 사용하는 방법

다양한 농구 선수에 대한 정보가 포함된 다음과 같은 데이터 세트가 Excel에 있다고 가정해 보겠습니다.

이제 팀이 A 또는 C인 행만 표시하도록 필터를 적용한다고 가정합니다.

다음 매크로를 생성하여 포인트 열에 표시되는 셀의 합계를 계산하고 결과를 셀 A16 에 표시할 수 있습니다.

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

A16 에는 값 168 이 포함되어 있습니다.

이는 포인트 열에 표시되는 셀의 합이 168임을 나타냅니다.

또한 소계 방법의 첫 번째 인수 값을 변경하여 다른 측정항목을 계산할 수도 있습니다.

예를 들어, 값 1 을 사용하여 포인트 열에 표시되는 셀의 평균을 대신 계산할 수 있습니다.

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

A16 에는 값 24가 포함되어 있습니다.

이는 포인트 열에 표시되는 셀의 평균이 24임을 나타냅니다.

참고 : VBA 소계 방법에 대한 전체 문서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: 범위에 값을 추가하는 방법
VBA:범위의 평균값을 계산하는 방법
VBA:범위 내 행 수를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다