Excelのテーブル(ListObject)は、構造化されたデータの管理に便利ですが、「テーブル全体をVBAで取得・選択したい」といった操作を正確に実装するためには、テーブルの範囲プロパティの使い方を理解しておく必要があります。
本記事では、VBAでテーブル全体のセル範囲を取得し、選択・操作する方法をご紹介いたします。
想定される活用シーン
- 指定したテーブルの全体を選択して、色付けや罫線などを一括適用したい。
- テーブルの範囲をコピーして別シートに貼り付けたい。
- テーブル全体のデータ構成を確認・検証したい。
VBAコードの例
以下のコードでは、アクティブシートに存在する「商品一覧」という名前のテーブルのセル範囲を取得し、選択状態にします。
Sub SelectEntireTable()
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects("商品一覧")
' テーブル全体の範囲を選択
tbl.Range.Select
End Sub
他の選択方法
1. テーブル名をセル名として参照する方法(構造化名前範囲)
Range("商品一覧").Select
※この方法は、名前定義と重複している場合や他シート参照時にエラーになることがあるため、確実性を求めるなら ListObjects("商品一覧").Range を使うのが安心です。
2. テーブルそのものを選択する方法(※セル範囲ではない)
ActiveSheet.ListObjects("商品一覧").Select
この構文は、テーブルオブジェクトを選択状態にするためのExcel独自動作であり、VBAの範囲オブジェクトとしての操作にはあまり向きません。
よく使うプロパティ
| プロパティ名 | 説明 |
|---|---|
.Range | テーブル全体のセル範囲(ヘッダー+データ+集計行) |
.DataBodyRange | データ部分のみ(ヘッダー・集計行を除く) |
.HeaderRowRange | ヘッダー行のセル範囲 |
.TotalsRowRange | 集計行のセル範囲(表示時のみ) |
まとめ
VBAを使えば、Excelテーブルのセル範囲を簡単に取得・選択できます。ListObjects("テーブル名").Range を使うことで、見出しや集計行も含めたテーブル全体の範囲を正確に操作することが可能です。
テーブル全体に書式を適用したり、コピー処理や削除処理を行ったりする場面では、この方法が非常に有効です。ぜひ、日常業務にお役立てください。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
