변수를 선언하다보면, type 중 Sheet와 WorkSheet가 뭐가 다른지 싶다. 살짝 구글링을 해본 결과를 기술해 두자면,
Sheet는 WorkSheet를 포함한다.
Sheet > WorkSheet
Sheet를 구성하는 타입은 WorkSheet 외에도 더 있다. 단, 현재는 다 없어진(?)거나 다름없고, ChartSheet 아니면 WorkSheet만 남았다고 생각해도 무방하다 한다.
WorkSheet : the sheet with the gridlines and cells
Chart : the sheet which contains a single chart
DialogSheet : deprecated
Macro sheets : deprecated
International Macro sheet : deprecated
아래 article을 참고했다.
그래서 나는 그냥 아무거나 쓴다.
아래 코드는 sheet를 검사하여, listobject의 수를 반환한다.
Sub listobjectcount()
Dim obj As Object
Dim sht As Worksheet
For Each obj In ActiveWorkbook.Sheets
Debug.Print "[WorkSheet name] " & obj.Name
Debug.Print "[Sheet type] " & TypeName(obj)
Set sht = Worksheets(obj.Name)
With sht
If .ListObjects.Count > 0 Then
For Each lic In .ListObjects
Debug.Print lic.Name
Next lic
Else: Debug.Print "There are no ListObjects"
End If
End With
Next obj
End Sub
'<<Result>>
'[Sheet type] Worksheet
'[WorkSheet name] Sheet1
'Table1
'Table13
'Table14
'[Sheet type] Worksheet
'[WorkSheet name] Sheet2
'There are no ListObjects
몰라서 찾아봤는데, 모르고 있는게 많다는 사실만 확인하게 됐다.
'WeekdayLife' 카테고리의 다른 글
[엑셀] 다중 조건에 따라 카테고리별 합계(부분합) 구하기 (0) | 2023.09.14 |
---|---|
[엑셀] 중복값 없애고, 텍스트 목록 가로로 이어붙이기 (0) | 2023.09.13 |
Windows 10용 OneNote 한글입력 씹힐때 해결방법 (0) | 2023.09.12 |
[엑셀VBA] 버전, 언어 확인 (0) | 2023.09.12 |
[엑셀] 엑셀2019 실행취소(Undo) 횟수 조정하기 (0) | 2023.09.06 |
[엑셀] 자동필터 전체 한방에 해제하기 (0) | 2023.08.07 |
[엑셀] 테이블(표) 영역 선택해서, 이름정의로 사용하기 (0) | 2023.08.03 |
[엑셀] 배열수식 테이블 슬라이스 - 동적인 합계 영역 설정 (0) | 2023.07.20 |
[엑셀] 중복값을 제외한 갯수 세기 (0) | 2023.07.01 |
파워BI 한글폰트 적용(테마) (1) | 2023.06.22 |