[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ記録の整理』(ks)
ピボットテーブルを使いマクロ記録してみたのですが
最下行(不特定)の設定と内容の整理したいのですが
お解りの方アドバイスお願いします。
Sub Macro4()
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "集計A4横!R3C2:R7C8", Version:=6).CreatePivotTable TableDestination:= _ "集計A4横!R4C15", TableName:="ピボットテーブル8", DefaultVersion:=6 Sheets("集計A4横").Select Cells(4, 15).Select ActiveWorkbook.ShowPivotTableFieldList = True ActiveSheet.PivotTables("ピボットテーブル8").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル8").PivotFields("グループ"), "合計 / グループ", xlSum ActiveSheet.PivotTables("ピボットテーブル8").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル8").PivotFields("定価(単価)"), "合計 / 定価(単価)", xlSum ActiveSheet.PivotTables("ピボットテーブル8").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル8").PivotFields("定価(合計)"), "合計 / 定価(合計)", xlSum ActiveSheet.PivotTables("ピボットテーブル8").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル8").PivotFields("金額"), "合計 / 金額", xlSum ActiveSheet.PivotTables("ピボットテーブル8").PivotFields("合計 / 定価(単価)").Orientation = _ xlHidden With ActiveSheet.PivotTables("ピボットテーブル8").PivotFields("グループ") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル8").PivotFields("グループ") .Orientation = xlPageField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル8").PivotFields("グループ") .Orientation = xlColumnField .Position = 2 End With With ActiveSheet.PivotTables("ピボットテーブル8").PivotFields("グループ") .Orientation = xlRowField .Position = 1 End With ActiveSheet.PivotTables("ピボットテーブル8").PivotFields("グループ").Orientation = xlHidden With ActiveSheet.PivotTables("ピボットテーブル8").PivotFields("グループ") .Orientation = xlRowField .Position = 1 End With ActiveSheet.PivotTables("ピボットテーブル8").DataPivotField.Orientation = xlHidden ActiveSheet.PivotTables("ピボットテーブル8").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル8").PivotFields("金額"), "合計 / 金額", xlSum ActiveSheet.PivotTables("ピボットテーブル8").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル8").PivotFields("定価(合計)"), "合計 / 定価(合計)", xlSum Range("P5:Q8").Select Selection.Style = "Comma [0]" Range("Q12").Select End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
Dim pvt As PivotTable Set pvt = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "集計A4横!R3C2:R7C8", Version:=6).CreatePivotTable(TableDestination:= _ "集計A4横!R4C15", TableName:="ピボットテーブル8", DefaultVersion:=6) などとして、 変数 pvtで書き換えるとスッキリする、くらいでしょうか。
(γ) 2017/03/29(水) 21:04
よろしくお願いします。
帳票は以下の通りです
3行目見出し行
A列は空きです
A B C D・・F G H 3 4 B4ここからデータ入力 5 6 但しF列 H列は数式が入っています。 B列入力済みで最下行としそこから H列までをデータ取得範囲とする。 以上説明が下手かもしれませんが概要です。 (ks) 2017/03/30(木) 01:28
Set rng = Range("B3", Cells(Rows.Count, "H").End(xlUp)) ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= rng, _ 以下省略 など。 Sheetを複数使っているなら指定しないといけませんが、 Activesheetだけなら指定する必要もないと思います。
(γ) 2017/03/30(木) 07:09
>但しF列 H列は数式が入っています。
330行目までしたフィルで数式です。ピボットテーブルの場合
この範囲(空白)は関係ないのでしょうか?今回のケースの場合
B列を含むデータ記入済み行は7行目までです。
ちなみに7行目まで範囲の指定(数式抜き)方法はありますか?
よろしくお願いします。
Sub test2() Dim Rng As Range Set Rng = Range("B3", Cells(Rows.Count, "H").End(xlUp)) MsgBox Rng.Address End Sub (ks) 2017/03/30(木) 12:33
(マナ) 2017/03/30(木) 23:36
(ks) 2017/03/31(金) 00:47
(γ) 2017/03/31(金) 07:10
(ks) 2017/03/31(金) 09:04
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.