目次
概要
AdvancedFilter の CopyToRange を利用すると、元データから必要な列だけを抽出し、任意の列順で別シートへ転記できます。転記先の見出し行に「ほしい列名を希望順で並べておく」だけで実現できるため、ピボットや Power Query を使わずに手軽なレイアウト変更が可能です。
前提条件
| 項目 | 内容 |
|---|---|
| 対応 Excel | Microsoft 365 / 2016 以降 |
| 元データ | シート Sales の B3:F200(見出し行を含む) |
| 転記先 | シート Export |
| 転記したい列 | Date, Amount, Customer の 3 列 |
| マクロ設置先 | 標準モジュール |
転記先シートの準備手順
- シート Export の A1:C1 に、上記 3 列の見出しを 希望の順序で 入力します。 A1B1C1DateAmountCustomer
- 見出しセル以外は空欄のままにしておきます。AdvancedFilter が転記先の見出しを認識し、対応する列データのみを順番どおりに書き込みます。
VBA サンプルコード
Sub CopySelectedFieldsInOrder()
Dim rngSource As Range ' 元データ範囲
Dim rngDest As Range ' 転記先見出しセル
'--- 範囲設定 ---
Set rngSource = Worksheets("Sales").Range("B3").CurrentRegion ' B3:F200
Set rngDest = Worksheets("Export").Range("A1:C1") ' 見出しのみ
'--- AdvancedFilter で転記 ---
rngSource.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Empty, ' 条件なしで全行対象
CopyToRange:=rngDest, _
Unique:=False ' 重複行を削除したい場合は True に変更します
MsgBox "必要列を希望順で Export シートへ転記しました。", vbInformation
End Sub
コード解説
| 行 | 説明 |
|---|---|
| 7–8 | CurrentRegion で見出し行を含む Sales シートの表全体を取得しています。 |
| 13 | CriteriaRange を省略(Empty)すると条件指定なしで全レコードが対象になります。 |
| 14 | CopyToRange に転記先見出しセル範囲 A1:C1 を指定し、並び順を制御しています。 |
| 15 | Unique:=False を True に変更すると、同一行を除外して転記できます。 |
応用ポイント
| 目的 | 実装方法 |
|---|---|
| 先頭にシリアル番号列を追加したい | 転記後に With Worksheets("Export").Range("D2").Resize(recordNum): .Formula = "=ROW()-1": End With のように追記します。 |
| 特定条件で転記したい | CriteriaRange に条件範囲を設定し、OR/AND 条件を自由に組み合わせます。 |
| 月ごとにシートを分けて転記 | ループで年月ごとに CopyToRange の先頭セルをずらし、シートを自動生成すると効率的です。 |
よくある質問
| 質問 | 回答 |
|---|---|
| 見出しセルを誤ってスペル違いで入力したところ空欄になりました。 | 元データの見出しと完全一致していないと転記されません。コピー&ペーストで作成ください。 |
| 転記先に既存データがあると上書きされますか。 | 既存セルがある場合、その下へは追記されず上書きになります。追記する場合は rngDest を空セルに変更してください。 |
まとめ
AdvancedFilter の CopyToRange に転記先見出しを用意し、Unique パラメータを必要に応じて設定するだけで、必要列を好きな順序で簡単に転記できます。データレイアウトを手早く整えたい場面でぜひご活用ください。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
