ピボット集計表を別シート「閲覧用」に貼り付けるのですが、
ピボット以外の関数の入った列があるため、
その列を一旦退避させて、ピボットの内容を貼り付けてから、
退避させた関数列を元の位置に戻す、という処理をしています。
(毎日行うルーチン業務になるため)
自分でソースが書けないため、
マクロの記録で作成しました。
きっと、かなり無駄があるんだと思います。
以下のソースで、もっと綺麗ににまとめられる書き方に添削していただけると助かります。
どれだけスッキリするのか勉強したいです。
----------
'数式列を表外に移動
Sheets("閲覧用").Select
Columns("K:L").Select
Selection.Cut
Columns("W:W").Select
Selection.Insert Shift:=xlToRight
Columns("O:P").Select
Selection.Cut
Columns("X:X").Select
Selection.Insert Shift:=xlToRight
'ピボットのコピー
Sheets("ピボット").Select
Range("A4:O500").Select
Selection.Copy
Range("A4").Activate
Range("A1").Select
'閲覧用に貼り付け
Sheets("閲覧用").Select
Range("B6").Select
ActiveSheet.Paste
'表外の数式列を元の位置に移動
Columns("S:T").Select
Selection.Cut
Columns("K:K").Select
Selection.Insert Shift:=xlToRight
Columns("V:W").Select
Selection.Cut
Columns("Q:Q").Select
Selection.Insert Shift:=xlToRight
Range("A1").Select
No.1ベストアンサー
- 回答日時:
こんにちは、
こんな感じでしょうか、、、
With Sheets("閲覧用")
.Columns("K:L").Cut
.Columns("W:W").Insert Shift:=xlToRight
.Columns("O:P").Cut
.Columns("X:X").Insert Shift:=xlToRight
'ピボットのコピー '閲覧用に貼り付け
Sheets("ピボット").Range("A4:O500").Copy .Range("B6")
'表外の数式列を元の位置に移動
.Columns("S:T").Cut
.Columns("K:K").Insert Shift:=xlToRight
.Columns("V:W").Cut
.Columns("Q:Q").Insert Shift:=xlToRight
End With
Range("A1").Select
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Visual Basic(VBA) excelVBAについて。 1 2022/11/30 06:16
- Excel(エクセル) excelVBAについて。 8 2022/12/11 13:47
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) エクセルのマクロで 1 2022/04/09 06:44
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
エクセルの関数について(日付で...
-
一行おきにコピーするマクロが...
-
エクセルで表示された値だけ行...
-
シート保護の状態で行の追加を...
-
エクセルで行挿入した際、自動...
-
エクセル VBA 指定の範囲内をコ...
-
《エクセル2000》A列・B列の和...
-
エクセルVBA 並び替え セルの...
-
エクセルで反転コピー
-
エクセルで空白以外のセルの値...
-
VBAで同じブック内の別シー...
-
日報に自動で矢印線をひきたい
-
エクセル マクロ 貼り付け先が...
-
Excelの非表示列も含めてコピー
-
[Excel VBA]空白セル以外に連番...
-
A1セルに入力したら、入力時間...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
参照先セルに値が入っていない...
-
エクセル関数に詳しい方教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
一行おきにコピーするマクロが...
-
エクセル マクロ 貼り付け先が...
-
シート保護の状態で行の追加を...
-
Excelの非表示列も含めてコピー
-
エクセル VBA 指定の範囲内をコ...
-
エクセルで表示された値だけ行...
-
エクセルで行挿入した際、自動...
-
エクセルの関数について(日付で...
-
[Excel VBA]空白セル以外に連番...
-
エクセルのマクロ、AVERAGEIFを...
-
エクセルで反転コピー
-
マクロで値がある列までコピー
-
VBAで同じブック内の別シー...
-
【Excel-マクロ】グループとア...
-
エクセルVBA 複数列をコピーす...
-
エクセルで縦に長い表を印刷
-
エクセルで空白以外のセルの値...
-
エクセルでマクロを使った特定...
-
マクロでの可視セルのコピー&...
おすすめ情報