【VBA】シート上の表をテーブル化する

例えばシート上の以下の表を…

シート上の表
シート上の表


テーブル化することで、
 ・表にスタイルを設定
 ・テーブル化した表を名前定義
できます!

シートにスタイルの設定
シートにスタイルの設定
テーブル化した範囲を「productテーブル」と名前定義
テーブル化した表を「productテーブル」と名前定義
PR

VBAコード

ここでは例として、
 ・シート「data」上のセル「B2」から始まる表をテーブル化して
 ・テーブル化した表を「productテーブル」と名前定義
します。

実行前
実行前
Sub sample()
    
    With Worksheets("data")
        '対象シートをアクティブにする
        .Activate
        'テーブル化したい表の一番左上を選択状態にする
        .Range("B2").Select
        'テーブル化する(名前定義も含む)
        .ListObjects.Add.Name = "productテーブル"
    End With
    
End Sub

対象のシートを「アクティブ(=Activate)」にします(5行目)。
※上記ではシート「data」を「アクティブ」にしています。
※「アクティブ」とせずに「選択状態」にするとエラーになります。

テーブル化したい表の一番左上を「選択状態(=Select)」にします(7行目)。
上記ではセル「B2」を「選択状態」にしています。
※表全体を選択する必要はありません。

「XXX.ListObjects.Add.Name」により、1行で
 ・テーブル化
 ・名前定義
を実行しています(9行目)。

「XXX.ListObjects.Add」により「ListObjectオブジェクト」が取得されます(9行目)。

取得した「ListObjectオブジェクト」の「Name」に、定義したい名前を設定しています(9行目)。
※上記では「productテーブル」と名前定義しています。

PR

実行結果

シート上の表のテーブル化ができました。

実行後
実行後
PR

参考①

上記で使用した以下の詳細は、公式サイトをご確認ください。

●「XXX.ListObjects.Add」


●「ListObjectオブジェクト」

PR

参考②

シート上のテーブルにスライサーを作成することもできます。

詳細は以下の記事をご確認ください。

タイトルとURLをコピーしました