No.1ベストアンサー
- 回答日時:
こんにちは。
KenKen_SP です。こんな感じでいけるかと、、、
Sub ピボットサンプル()
Dim pvtTBL As PivotTable
Dim rngDATA As Range
Dim rngTARGET As Range
Dim DUMMY As String
'※ここでは Sheet1 のA1セル上で[Ctrl]+[*]キー押下で選択される
' 範囲をデータ範囲としています。
Set rngDATA = ThisWorkbook.Sheets("Sheet1").Range("A1").CurrentRegion
'※ピボットテーブルの貼り付け先
Set rngTARGET = Sheets("Sheet2").Range("A1")
On Error Resume Next
DUMMY = rngTARGET.Parent.PivotTables("_Result").Name
If Err.Number > 0 Then
On Error GoTo 0
'ピボットが無ければ作成
Set pvtTBL = ThisWorkbook.PivotCaches.Add(xlDatabase, rngDATA) _
.CreatePivotTable( _
TableDestination:=rngTARGET, _
TableName:="_Result")
With pvtTBL
.AddFields RowFields:="商品名", ColumnFields:="日付"
With .PivotFields("数量")
.Orientation = xlDataField
.NumberFormat = "#,##0_ ;-#,##0;;@"
End With
With .PivotFields("支店名")
.Orientation = xlPageField
.Position = 1
End With
End With
Else
'ピボットが既にあればデータ範囲を修正して更新
On Error GoTo 0
Set pvtTBL = rngTARGET.Parent.PivotTables("_Result")
With pvtTBL
.SourceData = rngDATA.Parent.Name & "!" & rngDATA.Address(ReferenceStyle:=xlR1C1)
.PivotCache.Refresh
End With
End If
rngTARGET.Parent.Activate
Set pvtTBL = Nothing
Set rngDATA = Nothing
Set rngTARGET = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelのマクロを教えていただけないでしょうか? 1 2023/07/06 19:56
- Excel(エクセル) ピボットテーブルの表示変更の仕方 初心者なので、的外れな質問だったらすみません 受注日ごとに商品名と 1 2022/04/26 23:23
- Visual Basic(VBA) 【マクロ】表への繰り返し転記について 1 2022/11/19 16:30
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- Excel(エクセル) ある文字を含む際に、値を返す数式についてです 5 2022/08/28 16:58
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
Excel関数:「0」を除いた標準...
-
Excel関数で、範囲内の最後のセ...
-
更新前と更新後の差分をVBAを使...
-
【エクセル】区切り位置で分割...
-
値の入っているセルのうち、一...
-
エクセル 8ケタの数字から日数...
-
SUMIFで数値が入力されているセ...
-
ピボットテーブル 0個の行を...
-
SUMIFとCOUNTIFの違いについて
-
エクセルで何種類のデータがあ...
-
エクセルに入力された日付「S40...
-
エクセルで別のシートに数行お...
-
エクセル、正数のみの集計[(負...
-
データの入力規則のリストで他...
-
correl関数の範囲指定
-
エクセルで文字列を日付として...
-
【Excel】歯抜けデータの集約
-
エクセルで電話番号を - で分...
-
エクセル2000で〇×の並び替えを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
Excel関数で、範囲内の最後のセ...
-
Excel関数:「0」を除いた標準...
-
【エクセル】区切り位置で分割...
-
ピボットテーブル 0個の行を...
-
更新前と更新後の差分をVBAを使...
-
値の入っているセルのうち、一...
-
SUMIFで数値が入力されているセ...
-
エクセル 8ケタの数字から日数...
-
エクセルに入力された日付「S40...
-
エクセルで何種類のデータがあ...
-
複数の候補列から、検索値と一...
-
correl関数の範囲指定
-
Excelで複数列かつ複数行分の一...
-
エクセル、正数のみの集計[(負...
-
Excelのマクロで行を間引きたい
-
スプレッドシートでドロップダ...
-
エクセルVBAを使ってセルに日付...
-
【Excel】歯抜けデータの集約
-
SUMIFとCOUNTIFの違いについて
おすすめ情報