
ピボットテーブルの集計セルをダブルクリックすると、ドリルダウンされ、詳細データが、sheet#に出力されます。何度も行うとシートが増えてしまいますが、同じシートに結果を上書きして出力することはできませんか?
他サイトで解決法として以下の対策が挙げられていましたが、うまく作動しませんでしたので
他のやり方があればと思い質問させて頂きます。
<他サイト解決法>
1.ピボットテーブルを作成後、画面下部のシート名を右クリックし、コードの表示を選択
2.Microsoft Visual Basicの画面が表示されるので↓のコードをそのまま貼り付け
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.DisplayAlerts = False
Sheets(Sheets.Count - 1).Delete
Selection.ShowDetail = True
Application.DisplayAlerts = True
End Sub
3. Microsoft Visual Basicの画面を閉じる
4.ピボットテーブルのシートを表示し、集計セルをダブルクリック
5.別シートに結果が表示される(このときシートの数は、ピボットテーブルのシートと合わせて2つ以上ある必要があります)
6.もう一度、集計セルをダブルクリックすると古い方の集計結果シートが削除され、新しいシートが新規で作成されます。(結果的にシートは増えていかない)
=======ここまで=================================================================
結局、シートが増え続けている結果となりました。
集計セルをダブルクリックして新規のシートに詳細データが表示される仕様みたいですが
なるべくマクロを組まない方法があれば尚良いです。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
マクロを組まないと無理です。
また、詳細データを表示するシートは常に1枚、という仕様で良いですか?
それとも集計項目が違えば別シートに詳細データを表示する仕様でしょうか?
『詳細データを表示するシートは常に1枚、という仕様』の場合、
該当シートのシートモジュールに以下のコードを置きます。
'SheetModule
Option Explicit
'-------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
If Me.PivotTables.Count = 0 Then Exit Sub
Dim r As Range
On Error Resume Next
Set r = Intersect(Target, Target.PivotTable.DataBodyRange)
On Error GoTo 0
If Not r Is Nothing Then
Application.OnTime Now, Me.CodeName & ".test1"
Set r = Nothing
End If
End Sub
'-------------------------------------------------
Private Sub test1()
Const sName = "pvtDetail"
On Error Resume Next
Application.DisplayAlerts = False
Sheets(sName).Delete
Application.DisplayAlerts = True
On Error GoTo 0
ActiveSheet.Name = sName
End Sub
'-------------------------------------------------
詳細データ表示用のシート名を予め決めておきます。
上の例では"pvtDetail"。
上書きというよりも、既存"pvtDetail"を削除して新規作成、という感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【関数】同じ関数なのに、エラ...
-
Office2021のエクセルで米国株...
-
【マクロ】列を折りたたみ非表...
-
9月17日でサービス終了らし...
-
【マクロ】アクティブセルの時...
-
ページが変なふうに切れる
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルの循環参照、?
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報