워크쉬트의 갯수를 표현해주는 사용자 정의 함수입니다.
출처 : 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
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'쉬트세기
'워크쉬트의 갯수를 세서 값을 반환함
'만약 범위를 지정하고 실행시 그 워크북이 가지고 있는 워크쉬트의 갯수를 반환함
'만약 범위가 지정되지 않으면 이 기능을 호출한 워크북의 워크쉬트 갯수를 반환함
'[보이는것만]이 값이 참일 경우 보이는 워크북만 세주고
'거짓일 경우 모든 워크쉬트를 센다
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
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 |