
マクロで、ピボットテーブルでの毎回可変するデータの最終行までの範囲を指定したいです。どなたかどうぞ教えてください。
列はU列までで固定です。
行が毎回異なります。
どのようにしたら、毎回異なる範囲を指定できますか?
マクロ初心者ですが、なんとか作業効率をUPさせたいと思っています。
どうぞよろしくお願い致します。
どこのマクロを直したらよいのかも教えてください。
自動作成されたVBAは以下の通りです。
Sub 実績集計ピポット()
'
' 実績集計ピポット Macro
'
'
Sheets("実績").Select
Cells.Select
Selection.Delete Shift:=xlUp
Sheets("管理表").Select
Range("A6").Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"管理表!R6C1:R28C21", Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:="実績!R4C1", TableName:="ピボットテーブル1", DefaultVersion:= _
xlPivotTableVersion14
Sheets("実績").Select
Cells(4, 1).Select
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("施工業者")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _
"ピボットテーブル1").PivotFields("現場名"), "データの個数 / 現場名", xlCount
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("受注日")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("ピボットテーブル1").TableStyle2 = "PivotStyleMedium9"
ActiveSheet.PivotTables("ピボットテーブル1").ShowTableStyleRowStripes = True
ActiveSheet.PivotTables("ピボットテーブル1").ShowTableStyleColumnStripes = True
ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("受注日").AutoSort _
xlDescending, "受注日"
Range("A6").Select
Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, _
False, True, False, True)
ActiveWorkbook.ShowPivotTableFieldList = False
End Sub
ご教授お願いします。
No.2ベストアンサー
- 回答日時:
名前定義 可変領域 で検索してみてください。
EXCELではこういった増減する領域を扱うとき
名前定義はひとつのセオリーです。
VBAにおいても定義した領域を
Range(”定義した名前”)で使えますから
複雑に考える必要がないです。
yokomayaさま
いつも大変お世話になり、ありがとうございます。
報告が遅くなりましたが、検索のオートフィルターも教えていただいた通り、試したところ無事出来ました。
おかげさまで素敵な管理表を作成することが出来ました。
Range(”定義した名前”)ですね。
試してみます。
ありがとうございました。
No.1
- 回答日時:
次のコードを↓のようにすればいけると思います。
SourceData:="管理表!R6C1:R28C21"
↓
SourceData:="管理表!A6:U" & Sheets("管理表").Cells(Rows.Count, "A").End(xlUp).Row
ちなみに、毎回、ピボットテーブルを新規作成するのですか?
一度、「データソースの変更」をマクロ記録してみることをお勧めします。たぶん、そっちの方が簡単だと思いますよ。
こんばんは。
ありがとうございました。
コード、ありがとうございました。試してみます。
「データーソースの変更」ですね。こちらも勉強させていただきます。
新たな知識が増えそうです。
感謝申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excel ピポットテーブルの更新について 1 2022/05/13 16:12
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBA ピボットテーブルにて、 最終行の取得の仕方を教えてください
Excel(エクセル)
-
【VBA】ピボットテーブルの範囲指定を変数にする
Excel(エクセル)
-
ピボットテーブル参照範囲を可変としたい
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
6
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
7
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
8
VBAで文字列を数値に変換したい
Excel(エクセル)
-
9
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
10
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
11
Excel VBAである特定文字列を含むシート名例えば「りんご(1)」
Excel(エクセル)
-
12
VBAでのピボットテーブルの範囲指定方法
Visual Basic(VBA)
-
13
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
14
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
15
マクロで#N/A"のエラー行を削除したい"
Visual Basic(VBA)
-
16
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
17
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
18
エクセルである行以下全部を削除する方法
Excel(エクセル)
-
19
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
20
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
一つのTeratermのマクロで複数...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
エクセルに張り付けた写真のフ...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
IF関数を使ってマクロを実行さ...
-
オートフィルターとExcelマクロ...
-
ExcelVBAでPDFを閉じるソース
-
バッチファイルでEXCELを起動し...
-
Excel マクロ VBA プロシー...
-
Excelのセル値に基づいて図形の...
-
マクロ実行時、ユーザーフォー...
-
ExcelのVBAを使ってタイトル行...
-
EXCELマクロでのThisisWor...
-
ダブルクリックで貼り付けた画...
-
非表示の列をすべて削除するマクロ
-
Excel マクロでShearePoint先の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelVBAでPDFを閉じるソース
-
ダブルクリックで貼り付けた画...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
特定文字のある行の前に空白行...
-
エクセルマクロでワードの一ペ...
-
エクセルで縦に並んだデータを...
-
Excel VBAからAccessマクロを実...
おすすめ情報
A列のデータは空白が無いので、A列のデータが入った最終行までを範囲に指定したいです。
ご教授お願いします。