ワークブック(またはシート)内のすべてのピボットテーブルを見つける方法を教えてもらえますか?場合によっては、非常に大きなExcelシートでピボットテーブルが隠れているか見つからないことがあります。もし私が少なくとも、ピボットテーブルがどこにあるかのセルアドレスまたは範囲を得ることができれば、それは素晴らしいものです。excel 2007ピボットテーブルの検索
ありがとうございました。
ワークブック(またはシート)内のすべてのピボットテーブルを見つける方法を教えてもらえますか?場合によっては、非常に大きなExcelシートでピボットテーブルが隠れているか見つからないことがあります。もし私が少なくとも、ピボットテーブルがどこにあるかのセルアドレスまたは範囲を得ることができれば、それは素晴らしいものです。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に2つのことを実証したかったのです。ワークシートループ、およびピボットテーブルコレクションに加えて、いくつかの典型的なプロパティを示します。私は誰かが各ビットがどのように動作するかを見るために、コードを通してf8に喜んでいると期待しています。ループ内の変数を宣言することについてのあなたの要点は興味深いものですが、本当に依存することができます。私は、特に大きなモジュールでは、可読性とスコープのために変数を使用するところに近い変数を宣言することを好みます。 – dash
私はもっと簡潔な解決策をあなたにアップアップしました:-) – dash
作品!ありがとう。 –