통합 문서 (또는 시트)의 모든 피벗 테이블을 어떻게 찾을 수 있습니까? 경우에 따라 피벗 테이블이 숨겨져 있거나 매우 큰 엑셀 시트에서 찾을 수 없을 수도 있습니다. 만약 내가 적어도 셀 주소 또는 피벗 테이블 (들)의 위치 범위를 얻을 수 있다면 그것은 좋을 것입니다.excel 2007 피벗 테이블을 찾으십시오
감사합니다.
통합 문서 (또는 시트)의 모든 피벗 테이블을 어떻게 찾을 수 있습니까? 경우에 따라 피벗 테이블이 숨겨져 있거나 매우 큰 엑셀 시트에서 찾을 수 없을 수도 있습니다. 만약 내가 적어도 셀 주소 또는 피벗 테이블 (들)의 위치 범위를 얻을 수 있다면 그것은 좋을 것입니다.excel 2007 피벗 테이블을 찾으십시오
감사합니다.
: 각 워크 시트를 통해 루프 당신이 찾고있는 일을 찾아 그 sheeet에 PivotTables
통해 .PivotTables.Count > 0
다음 루프가 시트를 찾고 있습니다. 직접 실행 창에 결과를 인쇄합니다.
Sub FindPivotTables()
Dim wst As Worksheet
Dim pvt As PivotTable
' loop through all sheets and print name & address of all pivot tables
For Each wst In ActiveWorkbook.Worksheets
For Each pvt In wst.PivotTables
Debug.Print wst.Name, pvt.TableRange2.Address, pvt.Name
Next pvt
Next wst
End Sub
각 워크 시트는 PivotTables
컬렉션을 노출해야합니다. 이 당신을 위해 작동합니다
Sub Test()
Dim pTable As pivotTable
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Dim pivotTableCount
pivotTableCount = ws.PivotTables.Count
If pivotTableCount > 0 Then
For Each pTable In ws.PivotTables
Dim pivotTableName As String
pivotTableName = pTable.Name
Dim pivotTableTopLeftCell As String
pivotTableTopLeftCell = pTable.Location
Next pTable
End If
Next ws
End Sub
이 코드는 작동하지 않으며 정보를 반환하지 않습니다. 또한 루프 내에서 선언을 반복해서 수행해서는 안됩니다. –
복사 및 붙여 넣기 오류를 놓치 셨습니다 (감사합니다!); 그렇지 않으면 pivotTableCount 검사를 제외하고는 코드가 루프 측면에서 동일합니다. 나는 OP에 두 가지 것을 보여주고 싶었다. 워크 시트 루프 및 피벗 테이블 컬렉션뿐만 아니라 몇 가지 일반적인 속성을 보여줍니다. 코드를 통해 누군가가 각 비트가 어떻게 작동하는지보고 싶어 할 것입니다. 루프에서 변수를 선언하는 것과 관련하여 요점은 흥미 롭습니다. 실제로 의존 할 수 있습니다. 특히 큰 모듈에서 가독성과 범위를 위해 변수를 사용하는 곳에서 변수를 선언하는 편을 선호합니다. – dash
나는 더 간결한 해결책을 위해 당신을 upvoted했습니다 :-) – dash
Works! 감사합니다. –