
マクロで、ピボットテーブルでの毎回可変するデータの最終行までの範囲を指定したいです。どなたかどうぞ教えてください。
列は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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBA ピボットテーブルにて、 最終行の取得の仕方を教えてください
Excel(エクセル)
-
【VBA】ピボットテーブルの範囲指定を変数にする
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
ピボットテーブル参照範囲を可変としたい
Excel(エクセル)
-
7
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
8
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
9
エクセルでリソース不足の警告がでますが、無視して作業していいものでしょうか?
Excel(エクセル)
-
10
エクセルである行以下全部を削除する方法
Excel(エクセル)
-
11
Excelで8/26等の日付を全てその月の1日に一括変換したい場合
Excel(エクセル)
-
12
VBAで文字列を数値に変換したい
Excel(エクセル)
-
13
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
14
SUMIF関数で、「ブランク以外を合計」を指定したい
その他(Microsoft Office)
-
15
Excel > ピボットテーブル「(空白)」非表示
Excel(エクセル)
-
16
Excel VBAである特定文字列を含むシート名例えば「りんご(1)」
Excel(エクセル)
-
17
エクセル マクロで数値が変った時行挿入できますか
Excel(エクセル)
-
18
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
19
マクロで#N/A"のエラー行を削除したい"
Visual Basic(VBA)
-
20
VBAでのピボットテーブルの範囲指定方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
TERA TERMを隠す方法
-
エクセルに張り付けた写真のフ...
-
ファイルが見つからない時、ス...
-
ExcelのVBA。public変数の値が...
-
ダブルクリックで貼り付けた画...
-
【Excel】複数のマクロをまとめ...
-
IF関数を使ってマクロを実行さ...
-
Excel_マクロ_現在開いているシ...
-
エクセルで別のセルにあるふり...
-
特定文字のある行の前に空白行...
-
エクセルで縦に並んだデータを...
-
マクロ実行時エラー
-
【EXCEL VBA】オートシェイプを...
-
Excelのセル値に基づいて図形の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
マクロの連続印刷が突然不可能...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルに張り付けた写真のフ...
-
Excelのセル値に基づいて図形の...
-
TERA TERMを隠す方法
-
マクロ実行時エラー
-
ExcelVBAでPDFを閉じるソース
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
おすすめ情報
A列のデータは空白が無いので、A列のデータが入った最終行までを範囲に指定したいです。
ご教授お願いします。