• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロでピポットテーブル うまくいかない)

マクロでピポットテーブル うまくいかない

kkkkkmの回答

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1606/2443)
回答No.2

以下の状態でないか確認してみて下さい。 Sheet1のA1からA71までデータが詰まっていない。 Sheet1のA1からW1までデータが詰まっていない。 既にSheet2のA1にピボットテーブルがある。

関連するQ&A

  • マクロでピボットテーブル作成

    EXCEL2007を使っています。 シートに、データベースからの抽出データを貼り付けて、実行したら、 自動的にピポッドテーブルで特定の表を別シート(シート2)に出すといったものをマクロで作成したいと思います。 (VBAはまだよく分かりません) マクロでやってみると、どうしても下記の表記(この部分が全文黄色になる)のところで止まってしまいます。 何がまずいのでしょうか? ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Sheet1!R1C1:R71C23", Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:="Sheet2!R1C1", TableName:="ピボットテーブル1", DefaultVersion _ :=xlPivotTableVersion12 地味にVBAを勉強する意欲はありますが、これを理解するところにたどり着くまでまだしばらくかかりそうなので。 よろしくおねがいいたします。

  • Excelマクロで変数を文字列として代入したい

    excelでピボットテーブルを作成する前段階で参照シート名を変数に入れそれを式に入れたいのですが、どの様な式にしたら良いでしょうか? 何卒、宜しくお願い致します。 Dim NewSheetName As String NewSheetName = InputBox("参照データのあるシート名を入力ください") If NewSheetName = "" Then Exit Sub Sheets.Add MsgBox "選択したシート名は" & NewSheetName & "です。" ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _    'ここの変数     ' ↓ "NewSheetName!R1C1:R95C18",Version:=xlPivotTableVersion15).CreatePivotTable _ TableDestination:="Sheet1!R3C1", TableName:="ピボットテーブル2", DefaultVersion _ :=xlPivotTableVersion15 Sheets("Sheet1").Select

  • ピボットテーブル最終行から2行目に項目を入れて3行目から新しいピボットテーブルを貼り付けたい。

    エクセルのマクロで、ピボットテーブルを2つ作成しています。 それを集計表シートに貼り付けています。 「A1」に「ピボットテーブル1」の名前を入れて 1つ目のピボットテーブルの範囲が「A2:G10」の場合 11行目は空欄 「A12」に「ピボットテーブル2」の名前 「A13(:D20など)」ピボットテーブル2 というようにピボットテーブルを貼り付けていきたいのですが、 良い方法はありませんか? 現在は2つ目のピボットテーブルを「A25」に貼り付けるように 設定していますが、1つ目のピボットテーブルの大きさが毎回 変化するので、見た目がきれいではありません。 2つ目のピボットテーブルを貼り付ける部分のVBAを記入しておきます。 「貼り付け」シートのデータを元にピボットテーブルを作成しています。 ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "貼り付け!R2C15:R300C19", Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:="集計表!R25C1", TableName:="ピボットテーブル13", DefaultVersion _ :=xlPivotTableVersion12 Sheets("集計表").Select Cells(25, 1).Select

  • マクロでピポットテーブル更新

    excel2010 excelのピポットテーブルをマクロで繰り返し動作させる方法で教えてください。 Sheets.Add ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "R1C1:R2424C3", Version:=xlPivotTableVersion14).CreatePivotTable _ TableDestination:="", TableName:="ActiveSheet.Name", DefaultVersion _ :=xlPivotTableVersion14 上記、内容だと連続でピポットテーブル作成可能です。 データエリアが変更になった場合、R2424C3部分の範囲が変わるので、下記の様に変更しました。 Sheets.Add ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "R1C1:R" & Cells(Rows.Count, "C").End(xlUp).Row & "C3", Version:=xlPivotTableVersion14).CreatePivotTable _ TableDestination:="", TableName:="ActiveSheet.Name", DefaultVersion _ :=xlPivotTableVersion14 上記マクロ実行すると、 実行時エラー'1004' このコマンドにはデータソースが2行以上必要です。 選択したセル範囲が1行だけの場合は、このコマンドを実行できません。 次のいずれかの操作を行ってください。 以下省略 と表示されます。 A1からC列でデータが存在する最終行までを指定しているつもりなのですが、 どこがNGなのか教えていただきたく。

  • Excelマクロでピポットテーブルを作りたい

    マクロを使ってピポットテーブルを作ろうとしていますが、エラーメッセージがあちこちに出てしまい何が悪いのかわかりません。どうかご助言の程、何卒よろしくお願い申し上げます。 Sub 名別_M() ' ' 名別_M Macro ' Range("A2").Select With Worksheets.Add() '新しいシートを作成し、名前を「名別」にする処理 .Name = "名別" Dim NewSheetName As String NewSheetName = InputBox("新しいシート名を入力ください") ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ NewSheetName!R1C1:R95C18,Version:=xlPivotTableVersion15). CreatePivotTable TableDestination:="名別!R3C1", TableName:="ピボットテーブル1" _ , DefaultVersion:=xlPivotTableVersion15 End With '「名別」にした最後の処理 Sheets("名別").Select Cells(3, 1).Select With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("UserName") .Orientation = xlRowField .Position = 1 End With ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル1").PivotFields("作業時間"), "合計 / 作業時間", xlSum Range("A3").Select ActiveSheet.PivotTables("ピボットテーブル1").CompactLayoutRowHeader = "UerName" Rows("1:2").Select Selection.Delete Shift:=xlUp Range("E26").Select End Sub

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

       A列 1  果物 2  りんご 3  みかん 4  みかん 5  りんご 6  メロン 7  メロン 8  ぶどう 9  りんご 10 みかん 11 りんご     |     | 以下名称が続きます ExcelのSheet1にある上記のようなデータを、Sheet2のA1に対して下記のような形式で 出力するのをマクロ化したいと考えております。 果物   集計 ぶどう  1 みかん  3 メロン  2 りんご  4 総計  10 通常通りピポットテーブルを行うのをマクロで記録した場合に、 下記のようになりますが、上手く実行できません。 Sub Macro4() Columns("A:A").Select ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "Sheet1!C1").CreatePivotTable TableDestination:="[Book1.xls]Sheet2!R1C1", _ TableName:="ピボットテーブル3", DefaultVersion:=xlPivotTableVersion10 With ActiveSheet.PivotTables("ピボットテーブル3").PivotFields("果物") .Orientation = xlRowField .Position = 1 End With ActiveSheet.PivotTables("ピボットテーブル3").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル3").PivotFields("果物"), "データの個数 / 果物", xlCount Range("D6").Select End Sub 列の名称は“果物”以外でも実行でき、A列の全てのデータをピポットテーブルで 集計できるようにしたいのですが、初心者のためなかなか上手く実行できません。 どなたか教えていただけますと幸いです。

  • 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

  • マクロを使ってピポットを実行したい

    マクロを使ってピポットを実行したい 下記に書いたのが自動作成したものですが、なぜか実行すると画像の様になります。 そして、毎回実行する行数は違います、違う行数でもできるようにできたら尚すんばらしいです。 月一回作成する資料で、担当者別に作成します。だいた、30人ぐらいですが… ボタンクリックでできる様にしたいのでマクロを使ってます。 Sub ピポット実行() ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "Sheet1!C1:C7").CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル1", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:=Array("担当者名", _ "得意先2", "メーカー名"), ColumnFields:="売上年月" With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("売上金額") .Orientation = xlDataField .Caption = "合計 / 売上金額" .Function = xlSum End With ActiveWorkbook.ShowPivotTableFieldList = True End Sub なにとぞよろしくお願いいたします まったく同じ資料に実行をする場合は、大丈夫なのですが、少しでも違う資料にするとだめになります。 ピポットの形になっても、絶対に合計でできなかったり(個数などになったりしてします。)

  • エクセルマクロでピボットと集計

    エクセルのマクロを使ってピボットと集計を行いたいのですが、データは毎日更新するため行は変わります。 1.ピポットの範囲で一番下の行にデータの合計行が残ってしまうため、その行を削除したい。(=左端から右下を選択したい 余分な集計の行はG列で最終データはH列です)  2.ピボットで作成したものを普通のワークシートに全部値貼り付けした後、集計を行いたい。  A B C D E F G H (列はHまでで常に固定) G列に数値、H列に日付 ピボットの範囲と集計の範囲が都度変わっています。 自動で作成したものを手直ししたいのですが途中箇所のマクロを抜粋しました。 マクロは初心者です。 説明不足もあるかもしれませんがどうぞ宜しくお願いいたします。  ピボットの範囲選択のあたり・・・ ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "Sheet1!R1C1:R1236C8").CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル1", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) 集計のあたり・・? Selection.Subtotal GroupBy:=2, Function:=xlSum, TotalList:=Array(5, 6, 7, 8, _ 9, 10, 11, 12, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41 _ , 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, _ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88), Replace:= _ True, PageBreaks:=False, SummaryBelowData:=True Range("B6").Select Selection.AutoFilter Field:=2, Criteria1:="=*集計*", Operator:=xlAnd Rows("6:900").Select With Selection.Interior .ColorIndex = 34 .Pattern = xlSolid

  • Excel マクロ アクティブシートの指定について

    こんにちは。Excelでマクロを作成しています。あるファイルを開きマクロを実行すると、日々エクスポートしているExcelファイルのシートが開き、自動的にそのシートにピボットテーブルを実行し集計するマクロを作成しています。ファイルの指定はファイル名が毎日日付のファイル名(例:02-12等)になるので、[ファイルを開く]ダイアログを表示させ、そこから指定することにしました。ただ、シート名もファイル名と同じなのですが、どうしてもそのシート名でしか作成できません。現在アクティブなシートにピボットを実行するようにするには、どうすればいいでしょうか。 下記に作成したVBを記載しておきます。 Fname = Application.GetOpenFilename(FileFilter:="Excel ファイル (*.xls), *.xls") ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "'02-12'!R1C1:R91C23").CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル3", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables("ピボットテーブル3").AddFields RowFields:=Array("所属名", _ "受付担当者") ActiveSheet.PivotTables("ピボットテーブル3").PivotFields("状況").Orientation = _ xlDataField ・・・ 上記の02-12の部分がシート名になるのですが、このシート名は毎日変化していきます(次の日は、02-13 など)。どのように作成すればいいでしょうか。 よろしくお願いします。