Excelでは、表形式のデータをテーブル形式(ListObject)に変換することで、フィルター・並べ替え・構造化参照など多くの機能を活用できるようになります。
本記事では、VBAを使って既存のセル範囲をテーブル化する処理と、テーブルに任意の名前を付ける方法についてご紹介いたします。
想定される用途
- データ入力された範囲をテーブルに自動変換し、整理・分析しやすくしたい。
- テーブル名をVBAで設定して、他のマクロから参照しやすくしたい。
- ルーティン作業を自動化して、作業ミスや手間を減らしたい。
VBAコードの例
以下のコードでは、セル範囲 B3:E8 をテーブル形式に変換し、そのテーブルに「顧客一覧」という名前を付けています。
Sub ConvertRangeToTable()
Dim dataArea As Range
Dim tbl As ListObject
' データ範囲の設定(見出し含む)
Set dataArea = ActiveSheet.Range("B3:E8")
' テーブルの作成と名前の設定
Set tbl = ActiveSheet.ListObjects.Add(SourceType:=xlSrcRange, _
Source:=dataArea, _
XlListObjectHasHeaders:=xlYes)
tbl.Name = "顧客一覧"
End Sub
コードのポイント解説
| 項目 | 内容 |
|---|---|
ListObjects.Add(...) | 指定範囲をテーブルとして挿入します。 |
SourceType:=xlSrcRange | 範囲を指定して追加することを明示します。 |
XlListObjectHasHeaders:=xlYes | 見出し行が含まれていることを指定します。 |
.Name = "顧客一覧" | 作成したテーブルに任意の名前を設定します。 |
注意点
- 見出し行を必ず含めて範囲を指定してください。
xlYesを指定している場合、1行目は列名として認識されます。 - テーブル名は一意である必要があります。すでに同名のテーブルがあるとエラーになります。
- テーブルに変換した後は、構造化参照が有効になります(例:
=顧客一覧[年齢]のような数式)。
応用例
- 複数のシートで一括テーブル化するマクロ。
- テーブルを作成後に色やスタイルを自動で適用。
- 作成したテーブルから自動的に集計・グラフ化。
まとめ
VBAを使えば、任意のセル範囲をワンクリックでテーブル形式に変換し、見た目と機能を大幅に向上させることができます。
さらにテーブル名を指定しておけば、後続処理や他のマクロからの呼び出しも簡単になります。
表形式のデータをExcelの「テーブル」として活用したい方は、ぜひ本記事の手法をご利用ください。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
