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:범위 내 행 수를 계산하는 방법