回答編集履歴

1

ピボットテーブル更新のコードを追記

2024/11/27 09:28

投稿

mattuwan
mattuwan

スコア2163

test CHANGED
@@ -48,3 +48,32 @@
48
48
  Next
49
49
  End Sub
50
50
  ```
51
+
52
+ 追記>>
53
+ ピボットの更新のマクロを書いてみました。
54
+ マクロのあるファイルと同じフォルダー内に他のアプリケーションから
55
+ CSVファイルを出力したと想定で書いてます。
56
+ ```Excel VBA
57
+ Sub testPivot更新()
58
+ Dim sFName As String
59
+ Dim wbkData As Workbook
60
+ Dim rngSource As Range
61
+ Dim pvtTable As PivotTable
62
+
63
+ ChDir ThisWorkbook.Path
64
+ sFName = Application.GetOpenFilename("CSVファイル,*.csv")
65
+ Set wbkData = Workbooks.Open(sFName)
66
+ With wbkData.Worksheets(1).Range("A1").CurrentRegion
67
+ Set rngSource = Intersect(.Cells, .Offset(1))
68
+ End With
69
+
70
+ Set pvtTable = ThisWorkbook.Worksheets(2).PivotTables(1)
71
+ pvtTable.ChangePivotCache ThisWorkbook.PivotCaches. _
72
+ Create(SourceType:=xlDatabase, SourceData:=rngSource)
73
+ pvtTable.PivotCache.Refresh
74
+
75
+ wbkData.Close False
76
+ End Sub
77
+ ```
78
+
79
+ これでやったら、無い項目は綺麗に消えると思いますが、いかがでしょうか?