ピボットテーブルの集計結果は「sheet1」に出力されます。集計結果を
ピボットテーブルの集計結果は「sheet1」に出力されます。集計結果を繰り返し出力すると「sheet2」、「sheet3」・・・・と続きますが、集計結果を出力するたびに同じシートに上書きしてすることはできないでしょうか?
これをVBAで行いたいのでコードを教えていただけると幸いです。
ちなみに、以下のコードをWEBで見つけシートモジュールに置きましたが、上手く動きませんでた。
'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
'-------------------------------------------------
私の書いたピボットテーブルの標準モジュールは以下になります。
Sub 廃止部品と使用製品一覧作成(ByVal Arg)
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"対象一覧!" & Arg).CreatePivotTable TableDestination:="", TableName:= _
"ピボットテーブル1"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("ピボットテーブル1").SmallGrid = False
ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:=Array("EAB品番", _
"SEB品番", "使用製品名", "生産場所"), ColumnFields:=Array("メーカー名", "メーカー品名")
ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("使用数").Orientation = _
xlDataField
End Sub
私のコードが悪くWEBで見つけたコードが動かないのか分かりませんが、ピボットテーブルの出力結果を常に同じシートに上書きするコードが知りたいです。
よろしくお願い致します。
補足
ソートはデータの一番上(画像で言うならH5)のみを選択して 行なっても試しにH列を選択してもダメでした。 トップテンもやってみたのですが 項目名の部分が青く変わるだけでした。 やはり別の判断基準で並び変わっているのかもしれませんね、、 毎月もしくは3ヶ月に一度更新していく予定のデータで タブがいくつもあるため自動化したいと考えているのですが 他になにか良い方法は内でしょうか? マクロも考えています。