[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでピボットテーブル 2』(みけ)
先日こちらで教えて頂いたばかりですが、
ピボットテーブルの別の事で教えて頂きたく新たに書き込ませてもらいました。
ピボットテーブルアイテムで【地域】について
データが無い地域が含まれていても(ない場合は飛び越して)
順番通りに並べる方法を教えてください。
地域の数は決まっていてそのデータによって含まれない場合もあり
並び順は決まった順で並べたいのです。
(その都度ポジション番号を付けなくて良いようにしたい)
フィールドのポジションを並べてみても
データが無い地域の場所で
「 pivot Fileld クラスの pivot Items プロパティを取得できません」と
表示が出てしまい止まってしまいます。
コードは下記のとおりです。
Sub shukei()
Dim ws As Worksheet Dim src As Range Dim dst As Range Dim pvc As PivotCache Dim pvt As PivotTable
Set src = Worksheets("元データ").Range("A1", Cells(Rows.Count, 1).End(xlUp)).Resize(, 3) Set ws = Sheets.Add ws.Name = "集計" Set dst = ws.Range("A3")
Set pvc = ActiveWorkbook.PivotCaches.Create( _ xlDatabase, src.Address(, , xlR1C1, True)) Set pvt = pvc.CreatePivotTable(dst) pvt.RowAxisLayout xlTabularRow
With pvt.PivotFields("地域") .Orientation = xlRowField .PivotItems("東京").Position = 1 .PivotItems("横浜").Position = 2 .PivotItems("千葉").Position = 3 .PivotItems("埼玉").Position = 4 .PivotItems("茨城").Position = 5 .PivotItems("栃木").Position = 6 .PivotItems("群馬").Position = 7 End With
With pvt.PivotFields("品目") .Orientation = xlRowField .PivotItems("A").Position = 1 .PivotItems("B").Position = 2 .PivotItems("C").Position = 3 End With
pvt.AddDataField pvt.PivotFields("金額"), "件数", xlCount pvt.AddDataField pvt.PivotFields("金額"), "代金", xlSum pvt.TableStyle2 = "PivotStyleMedium13"
Columns("A:A").ColumnWidth = 8 Columns("B:B").ColumnWidth = 6 Columns("B:B").NumberFormatLocal = "#,##0" Columns("C:C").ColumnWidth = 10 Columns("C:C").NumberFormatLocal = "#,##0"
End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
(マナ) 2021/02/05(金) 16:47
(マナ) 2021/02/05(金) 19:20
On Error Resume Next .PivotItems("埼玉").Position = 1 .PivotItems("千葉").Position = 1 .PivotItems("横浜").Position = 1 .PivotItems("東京").Position = 1 On Error GoTo 0
(マナ) 2021/02/06(土) 19:06
ご丁寧に有難うございました。
VBAにユーザー設定も組み込みたくて検索しましたが、
私には難し過ぎました。
同じ動作がこのような簡潔なコードでできるんですね。
思い通りの資料ができました。
有難うございました。
(みけ) 2021/02/08(月) 09:39
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.