Microsoft Excel에서 VBA를 사용하는 모든 워크 시트의 범위에서 세포를 계산
내장 된 COUNT () 또는 COUNTA ()를 사용하여이를 달성 할 수 있습니다
하지만 통합 문서에 많은 워크 시트가 포함되어 있거나 통합 문서에 새 워크 시트를 자주 추가하는 경우 큰 작업이 될 수 있습니다.
여러 워크 시트에서 범위를 계산하려면 다음과 같이 COUNTA 함수를 사용할 수 있습니다.
COUNTA (시트 1 : 시트 10! A1 : A100)
위의 수식은 Sheet1에서 Sheet10까지 워크 시트의 A1 : A100 범위에있는 비어 있지 않은 모든 셀을 계산합니다.
아래의 사용자 지정 함수를 사용하면 통합 문서의 모든 워크 시트에서 범위 내의 셀 수를 쉽게 계산할 수 있습니다.
Function CountAllWorksheets(InputRange As Range, InclAWS As Boolean) As Double ' counts the content of InputRange in all worksheets in the workbook Dim ws As Worksheet, TempCount As Long Application.Volatile True ' calculates every time a cell changes TempCount = 0 For Each ws In ActiveWorkbook.Worksheets If InclAWS Then ' include the active worksheet TempCount = TempCount + _ Application.WorksheetFunction.Count(ws.Range(InputRange.Address)) Else ' exclude the active worksheet If ws.Name <> ActiveSheet.Name Then ' not the active worksheet TempCount = TempCount + _ Application.WorksheetFunction.Count(ws.Range(InputRange.Address)) End If End If Next ws Set ws = Nothing CountAllWorksheets = TempCount End Function
이 함수는 내장 워크 시트 함수와 동일한 방식으로 사용됩니다.
Excel 5/95에서 변수 InputRange는 Range 대신 Variant로 정의되어야합니다.
이 기능은 통합 문서의 모든 워크 시트에서 사용하려는 다른 워크 시트 기능과 함께 사용하도록 쉽게 조정할 수 있습니다.