• ベストアンサー

エクセル2010使い方-ピボットテーブル-

エクセル2010で作成した、ピボットテーブルの 同一項目を選択するにはどうすればよいでしょうか。 以前は項目の始まりにマウスを合わせると、矢印にかわり、 一括して同一項目を選択できたのですが。 行の小計を選択するのをマクロに書くと、こんな感じなのですが。 Sub 小計を選択() ActiveSheet.PivotTables("ピボットテーブル").PivotSelect "行ラベル[All;Total]", _ xlDataAndLabel, True End Sub よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.4

Application.PivotTableSelectionプロパティがFalseになっているのでしよう。 「選択範囲を有効にする」機能。 Ver2003ではピボットテーブル右クリックメニュー[選択]の中にありましたが、 2007以降ではピボット選択した時に表示されるメニュー[ピボットテーブルツール] のリボン[オプション]-[アクション]タブの中になりました。 この[選択]の「選択範囲を有効にする」をクリックすれば良いです。 True/Falseトグル切り替えになっています。 VBAコードで表現すれば Application.PivotTableSelection = True

gen_ma
質問者

お礼

出来ました! ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

動画添付 マクロは上手く動くのですが、手動での選択は上手くいきません。 この時のマクロ Sub 小計を選択() ActiveSheet.PivotTables("ピボットテーブル").PivotSelect "項目1[All;Total]", _ xlDataAndLabel, True End Sub

gen_ma
質問者

補足

keithin様 No.4 end-u様の回答で解決いたしました。 2度も回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

>マクロの記述はあくまで参考で、正常に動かすことはできます。 それが事実であれば、エクセル2010でも全く同じように操作できます。 添付図の丸を付けたあたりにカーソルをかざすと右太矢印にカーソルのカタチが変わり、クリックすれば同じ項目が選択されます。 添付図は実際にエクセル2010を使ったサンプルですが、従来のエクセルと全く同じです。 出来なかった可能性として、回答したように 再掲: >ピボットテーブルレポートの中で右クリックしてオプションを出し,表示タブで「従来のレポートを表示する」にチェックを入れて集計行を出してやれば,動きます。 の部分によって、手動でも選択できない場合があります。 が、その場合はご質問で挙げていらっしゃるマクロも正常に動きませんので、今回は該当しません。

gen_ma
質問者

お礼

手動で選択できるんですね。 上手くいきません(仮アカウントで、No3で回答)でしたが、 出来ることがわかったので、また色々試してみます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>同一項目を選択するにはどうすればよいでしょうか。 ご相談で書かれたマクロで出来ますよ。 sub macro1() activesheet.pivottables("ピボットテーブルの正しい名前").pivotselect "選択したいアイテム", xldataandlabel, true end sub 実行時エラー1004が出るようならピボットテーブル名若しくは「選択したいアイテム名称」が誤記してるのでしょう。 または「アイテム名があいまいです」が出ているなら,そのエラーメッセージの通り"[フィールド名]アイテム名"のように書かないといけません。 それとも,「同一項目を選択する」じゃなく「ご相談で掲示したそのマクロが動かない」というだけの事を事を聞きたかったのでしょうか。 それなら行の小計が表示されていないのが原因です。ピボットテーブルレポートの中で右クリックしてオプションを出し,表示タブで「従来のレポートを表示する」にチェックを入れて集計行を出してやれば,動きます。 今見えているレイアウトでどうしてもやりたいなら activesheet.pivottables("ピボットテーブルの正しい名前").pivotselect "フィールド名[All]", xldataandlabel+xlfirstrow, true としてみてください。アイテム名じゃないので間違えないように。

gen_ma
質問者

補足

ご回答ありがとうございます。 マクロで実行したいわけではなく、 マクロを使わずに同一項目を選択したいのです。 マクロの記述はあくまで参考で、 正常に動かすことはできます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ピボットテーブルをマクロで行なうには

    以下3行目が項目でデータレコードが4~588行目迄入っています。(行数は毎回変わります) これをピボットテーブルで 縦列に"分類" 横行に"月" フィールドに"受注額(合計)" としたく以下マクロ記録しましたが次に実行しようとするとうまくいきません。 参考書読むとActiveSheetとEnd(xlUp)を使うのかなと思えたのですが 具体的にどのようしたら良いのか宜しく御願いします。 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "'Aシート'!R3C1:R588C12").CreatePivotTable _ TableDestination:="", TableName:="ピボットテーブル1" ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select With ActiveSheet.PivotTables("ピボットテーブル1") .DisplayNullString = False .RowGrand = False .SmallGrid = False End With ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:="分類", _ ColumnFields:="月" With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("受注額(合計)") .Orientation = xlDataField .NumberFormat = "#,##0_ ;[赤]-#,##0 " End With End Sub

  • ピボットテーブルのマクロについて

    ピボットテーブルのマクロについて教えてください。 NO 場所  ランク 面積 1  東京  上    10 2  大阪  上    20 3  福岡  中    20 4  広島  中    30 5  東京  中    15 6  東京  中   25 7  大阪  下   35 8  福岡  下   45 9  大阪  下   10 10 大阪  下   10 という表があり、 場所ごとランクごとの面積集計を ピボットテーブルのマクロを組んで実施したい のですが(同じ作業を繰り返すので)、 マクロを記録して、内容を実行しようとすると、 「実行時エラー」が出てしまいます。 記録したマクロは以下の通りです。 ( → ←のところでエラーが出ます) Sub Macro1()  ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _   "Sheet1!C2:C4").CreatePivotTable TableDestination:="", TableName:= _  "ピボットテーブル2", DefaultVersion:=xlPivotTableVersion10  ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)  ActiveSheet.Cells(3, 1).Select → With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("場所")   ←   .Orientation = xlRowField   .Position = 1  End With With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("ランク")    .Orientation = xlRowField    .Position = 2  End With  ActiveSheet.PivotTables("ピボットテーブル2").AddDataField ActiveSheet.PivotTables( _    "ピボットテーブル2").PivotFields("面積"), "データの個数 / 面積", xlCount  Range("A3").Select  ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("データの個数 / 面積 ").Function = _  xlSum End Sub ピボットテーブルのフィールドリストがうまく挙がってこないようなのですが、 どのようにマクロを組み直せば、よいのでしょうか? 作りたい集計表は、以下のようなものです。 場所 ランク  合計 広島  中   30  集計     30 大阪  下   55     上    20  集計     75 東京  上   10     中    40  集計     50 福岡  下   45     中    20  集計     65 総計      220 長々とまた見づらくてすみません。 よろしくお願いします。

  • ピボットテーブルの操作をマクロの記録で

    退職者が残したエクセルファイルがあります。 ピボットテーブル生成の操作をマクロの記録を使って自動化したようです。 私はピボットテーブルを一度も操作した事が有りません。 ですがマクロの記録で作られた構文を VBEのF8キーで1行づつ動作させると画面が変化していくので どういう操作をしてマクロの構文が出来たのかは分かりました。 ですが以下の部分だけ画面上の変化が無く何をどうすると この構文が作成されるのかまったく分かりません。 ピボットテーブルに関する件を検索しようにも マクロを使わない手操作でどういう操作、どういう機能を使ったのかが わからないので検索する事も出来ません。 ピボットテーブルウィザードから ワークシートが挿入されてテーブルを作成する際に どういう操作を行うとこのような構文が出来るのか 教えてください。お願いします。 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("品番") .PivotItems("(空白)").Visible = False End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("仕入先") .PivotItems("(空白)").Visible = False End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("品名") .PivotItems("(空白)").Visible = False End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("棚番") .PivotItems("(空白)").Visible = False End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("番号") .PivotItems("(空白)").Visible = False End With

  • Excel マクロ ピボットテーブル範囲選択

    マクロで、ピボットテーブルでの範囲のコーディングの仕方について、どなたかどうぞ教えてください。 列・行とも行が毎回異なります。 どのようにしたら、毎回異なる範囲を、「SourceData:=」に反映させることが出来ますか? マクロ初心者ですが、なんとか作業効率をUPさせたいと思っています。 どうぞよろしくお願い致します。 自動作成されたVBAは以下の通りです。 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "Sheet1!R3C2:R1767C52").CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル1" ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables("ピボットテーブル1").SmallGrid = False

  • ピボットテーブルの範囲を可変にしたい

    ピボットテーブルのマクロを作っています。 「発注データ」というシートの隣に新しいシートを追加し そこにピボットテーブルを作成するという内容です。 シート名の「発注データ~」と参照範囲「R1C1:R477C8」の部分が毎回変わるため (列は固定で行数が増減)それに対応した記述にしたいのですが どのように変えたらいいのでしょうか? アドバイスよろしくお願いします。 以下マクロ記録で作成してみました。 Sub pivot() ' pivot Macro Sheets.Add ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "発注データ20170202!R1C1:R477C8", Version:=xlPivotTableVersion15). _ CreatePivotTable TableDestination:="Sheet1!R3C1", TableName:="ピボットテーブル1" _ , DefaultVersion:=xlPivotTableVersion15 Sheets("Sheet1").Select Cells(3, 1).Select With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("課") .Orientation = xlColumnField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("品番") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("製品コード") .Orientation = xlRowField .Position = 2 End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("製品名1") .Orientation = xlRowField .Position = 3 End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("製品名2") .Orientation = xlRowField .Position = 4 End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("棚番号") .Orientation = xlRowField .Position = 5 End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("単価") .Orientation = xlRowField .Position = 6 End With ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル1").PivotFields("数量"), "合計 / 数量", xlSum ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("品番").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("製品コード").Subtotals = Array _ (False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("製品名1").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("製品名2").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("箱番").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("単価").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("数量").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("課").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル1").RowAxisLayout xlTabularRow End Sub

  • マクロでピボットテーブルを行う方法

    マクロ初心者です。よろしくお願い致します。 マクロでピボットテーブルにて集計を行いたいと思っています。 コマンドボタン1発で以下の全ての動作を行いたいです。 ■動作詳細■ [OK]コマンドボタンで指定したファイルを開く。 [OK]集計しやすいようにファイル内のデータを加工。 [NG]指定して開いたファイル上でピボットテーブル集計ができない。 ■NG要因として■ 指定して開いたファイルのSheet1上のデータをピボットテーブル新規作成でSheet2に作成するので、集計する元のデータの場所(Sheet1)をマクロ上に記載する必要があると思うのですが、うまくいきませんでした。 どなたかお分かりになる方がいらっしゃいましたらご助言いただければと思います。よろしくお願いします。 ■作成マクロ■ ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "test01!C1:C8").CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル2", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("コード") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("色") .Orientation = xlColumnField .Position = 1 End With ActiveSheet.PivotTables("ピボットテーブル2").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル2").PivotFields("売上"), "データの個数 / 売上数量", xlCount 一度、作成したピボットテーブルのデータをマクロにコピーしてコマンドボタンにペーストしました。 それによって参照してあるセルの位置もズレてしまったのでしょうか? どこを直せばよいのか分からなくなってしまいました。 よろしくお願いいたします。

  • マクロでピボットテーブルを作成したい

    こんばんは。マクロの自動記録を使って、ピボットテーブルを作成したのですが、記録した時のシート名とデータ範囲で記録されてしまいます。アクティブシートのデータがある範囲をピボットテーブルにしたい時は、どうすれば良いでしょうか? 以下のコードが自動記録で作成したコードです。 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "シート名!R1C1:R1000C30").CreatePivotTable TableDestination:= _ "", TableName:="ピボットテーブル2", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("商品番号") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("商品名 ") .Orientation = xlRowField .Position = 2 End With Range("A9").Select ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("商品番号").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル2").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル2").PivotFields("数量 "), "データの個数 / 数量 ", xlCount With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("発送日 ") .Orientation = xlPageField .Position = 1 End With Range("A1").Select ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("発送日 ").Orientation = _ xlHidden With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("希望時期") .Orientation = xlColumnField .Position = 1 End With

  • Excelマクロ ピボットテーブル シート名指定

    お世話になります。 マクロでピボットテーブルを作成しようと思い、一連の動作をマクロ記録しましたところ下記のコードが記録されました。動作は問題ないのですが、ピボットテーブルが作成されるシート名や場所が指定できません。 出来れば、ピボットテーブルを作成するシート名は"ピボット"にして一番右端に配置したいのですが下下記のコードのどこを直せば(または追加)よいのか、どなたかご教授いただけますでしょうか? ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "Sheet1!R1C1:R15C4").CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル2", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("納品日").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("地区").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("商品").Subtotals = Array( _ False, False, False, False, False, False, False, False, False, False, False, False) ActiveSheet.PivotTables("ピボットテーブル2").AddFields RowFields:=Array("納品日", "地区" _ ), ColumnFields:="商品" ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("出荷数量").Orientation = _ xlDataField ActiveWorkbook.ShowPivotTableFieldList = True よろしくお願い致します。 環境 Windows XP SP3 Excel2003

  • ピボットテーブルのマクロに関して

    ピボットテーブルのマクロを組む際に、必要な項目だけを表示させたいのですが、うまく行きません。 私は、マクロを学び始めて1カ月で、まだよくわかっていません。 下の例の場合 --------------------------------------------------------------- Sub Macro1() ' ' Macro1 Macro ' ' Sheets.Add ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "データ!R1C1:R255C6", Version:=xlPivotTableVersion10).CreatePivotTable _ TableDestination:="Sheet2!R3C1", TableName:="ピボットテーブル2", DefaultVersion _ :=xlPivotTableVersion10 Sheets("Sheet2").Select Cells(3, 1).Select With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("課名") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("地区名") .Orientation = xlColumnField .Position = 1 End With ActiveSheet.PivotTables("ピボットテーブル2").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル2").PivotFields("売上額"), "データの個数 / 売上額", xlCount With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("課名") .PivotItems("営業第1課").Visible = False .PivotItems("営業第4課").Visible = False End With With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("地区名") .PivotItems("いなべ町").Visible = False .PivotItems("海南町").Visible = False .PivotItems("吉野川町").Visible = False .PivotItems("魚津町").Visible = False .PivotItems("篠山町").Visible = False .PivotItems("小諸町").Visible = False .PivotItems("小野田町").Visible = False .PivotItems("西予町").Visible = False .PivotItems("石垣町").Visible = False .PivotItems("滝川町").Visible = False .PivotItems("東根町").Visible = False .PivotItems("南足柄町").Visible = False .PivotItems("日南町").Visible = False .PivotItems("萩町").Visible = False .PivotItems("八日町町").Visible = False .PivotItems("浜田町").Visible = False .PivotItems("府中町").Visible = False .PivotItems("本荘町").Visible = False End With End Sub --------------------------------------------------------------- 「営業第2課・営業第3課」を表示させるために、一度、課名を全部 表示させてから「営業第1課・営業第4課」を非表示にしています。 そして、町に関しても、いったん全部を表示させてから、不必要な町を 非表示にしています。 これを、表示したい項目だけ選択できるようなマクロに修正は できないでしょうか。 実際のデータは会社から持ち出せないようになっていて、 わかりづらかったら済みません。

  • マクロでピボットテーブルを作成するには?

    現在、仕事の関係でエクセルを多用しており、 仕事を楽にするためマクロを勉強しています。 インターネットを駆使して、下記のコードを作ってみたのですが、 【】の範囲で「参照が正しくありません」とエラーが出てしまいます。 どこがおかしいかご教授いただけますでしょうか? 自動記録でベースを作った後、範囲の指定を VBA上で行ったつもりです。 データの集計は「A」シートのA~G列まで、行は不定なので、 「A」シートの一番下までのデータを集計するようにしたいです。 縦に「要素」、内容に「金額」を集計するよう、 ピボットを記録しています。 Sub ピボットを行う() ' Range("A1").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select 【 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "A!Selection.Address").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:="要素" With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("金額") .Orientation = xlDataField .Caption = "合計 : 金額" .Function = xlSum End With End Sub よろしくお願いいたします。

専門家に質問してみよう