본문 바로가기

VBA

워크쉬트 갯수세기


워크쉬트의 갯수를 표현해주는 사용자 정의 함수입니다.

출처 : http://www.cpearson.com/Excel/SheetNameFunctions.aspx

Public Function 쉬트세기(Optional 범위 As Range, Optional 보이는것만 As Boolean) As Long
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'쉬트세기
'워크쉬트의 갯수를 세서 값을 반환함
'만약 범위를 지정하고 실행시 그 워크북이 가지고 있는 워크쉬트의 갯수를 반환함
'만약 범위가 지정되지 않으면 이 기능을 호출한 워크북의 워크쉬트 갯수를 반환함
'[보이는것만]이 값이 참일 경우 보이는 워크북만 세주고
'거짓일 경우 모든 워크쉬트를 센다
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim 워크북 As Workbook
    Dim 위크쉬트 As Worksheet
    Dim 수 As Long
    If 범위 Is Nothing Then
        Set 워크북 = Application.Caller.Worksheet.Parent
    Else
        Set 워크북 = 범위.Worksheet.Parent
    End If
    For Each 워크쉬트 In 워크북.Worksheets
        If 보이는것만 = False Or _
            (보이는것만 = True And 워크쉬트.Visible = xlSheetVisible) Then
           수 = 수 + 1
        End If
    Next 워크쉬트
    쉬트세기 = 수
End Function

변수명 및 이름은 제 방식대로 한글로 바꿔놨습니다.

Caller란 호출한 개체를 가리킵니다.

원문으로 가시면 워크쉬트와 워크북에 관련된 여러가지 함수가 더 있습니다.

추가적인 내용은 다음 기회에...

'VBA' 카테고리의 다른 글

파일/폴더의 존재여부 알아내기  (0) 2011.04.28
폴더 선택을 위한 구문  (0) 2011.03.01
Static 변수를 자료맵핑에 활용  (0) 2010.06.16
인터넷에서 파일 다운받기  (0) 2010.06.14
엑셀에서 소리내기  (0) 2010.06.11