ピボットテーブルの集計セルをダブルクリックすると、ドリルダウンされ、詳細データが、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ランキング
-
エクセルの複数シートの保護を...
-
Excelで同じシートのコピーを一...
-
Excelで金銭出納帳。繰越残高を...
-
EXCELで同一フォーマットのシー...
-
VBAでシートコピー後、シート名...
-
エクセルでファイルを開いたと...
-
別シートの最終行に貼り付けす...
-
前の(左隣の)シートを連続参...
-
エクセルで前のシートを連続参...
-
エクセルでシート名を自動入力...
-
別シート参照のセルをシート毎...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
エクセルで複数設定したハイパーリンク先...
-
至急お願いします。エクセルシ...
-
Accessのスプレッドシートエク...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
-
Excel、同じフォルダ内のExcel...
-
エクセルで複数シートを別のシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
Excel、同じフォルダ内のExcel...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
複数シートの特定の位置に連番...
-
Accessのスプレッドシートエク...
-
シートの保護のあとセルの列、...
-
EXCELで同一フォーマットのシー...
-
特定のシートの削除を禁止した...
-
Excelのシートを、まとめて表示...
-
エクセルで複数設定したハイパーリンク先...
おすすめ情報