大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAを使って、テーブルを作成したり、範囲に変換したり、スタイルを設定するには、「.ListObjects.Add」や、「.Unlist」、「.TableStyle」について、解説していきます。VBAを使って、テーブルの操作を自動化していきましょう。

はじめに

この記事では、テーブルを作成する方法、範囲に変換する方法、スタイルの設定方法について、ご紹介します。

テーブルを作成するには、「.ListObjects.Add」を使います。

範囲に変換したい場合は、「.ListObjects.UnList」です。

スタイルを設定するしたい場合は、「.ListObjects.TableStyle」を使います。

VBAでテーブルの操作を自動化していきましょう。

では、テーブルを作成する方法、範囲に変換する方法、スタイルの設定方法について、解説していきます。

この記事を読むメリット

  • テーブルの作成、範囲への変換、スタイルの設定方法がわかります

本記事の内容を動画でまとめています

目次から見たい項目へ移動すると便利ですよ。

目次

テーブルを作成する

VBAを使って、テーブルを作成してみます。

テーブルを作成してみる

テーブルを作成するVBAコードは、次のようになります。

Sub TEST1()
    
    'テーブルに変換
    ActiveSheet.ListObjects.Add 1, Range("B2").CurrentRegion
    
End Sub

次の表を用意しておきます。

表を用意

表を用意します

「ListObjects.Add」を使って、テーブルを作成できます。

「テーブル」を作成できた

「ListObjects.Add」を使って、テーブルを作成できました

「ListObjects.Add」を使って、テーブルを作成できました。

見出しを追加してテーブルを作成

テーブルを作成するときに、「見出し」を追加してテーブルを作成するVBAコードは、次のようになります。

Sub TEST2()
    
    '見出しを追加して、テーブルに変換
    ActiveSheet.ListObjects.Add 1, Range("B2").CurrentRegion, , xlNo
    
End Sub

表を用意しておきます。

表を用意

表を用意します

「見出し」を追加して、テーブルを作成できます。

「見出し」を追加して、テーブルを作成できた

「見出し」を追加して、テーブルを作成できました

「見出し」を追加して、テーブルを作成できました。

テーブルのスタイルを設定する

テーブルのスタイルを設定してみます。

テーブルのスタイルを設定するには、「.TableStyle」を使います。

スタイルには、次の種類があります。

  • 淡色
  • 中間
  • 濃色

それぞれ、VBAコードをみてみます。

「淡色」のテーブルスタイル

「淡色」のテーブルスタイルのVBAコードは、「"TableStyleLight1"」~「"TableStyleLight21"」まであります。

'淡色
With ActiveSheet.ListObjects(1)
    .TableStyle = "TableStyleLight1"
    .TableStyle = "TableStyleLight2"
    .TableStyle = "TableStyleLight3"
    .TableStyle = "TableStyleLight4"
    .TableStyle = "TableStyleLight5"
    .TableStyle = "TableStyleLight6"
    .TableStyle = "TableStyleLight7"
    .TableStyle = "TableStyleLight8"
    .TableStyle = "TableStyleLight9"
    .TableStyle = "TableStyleLight10"
    .TableStyle = "TableStyleLight11"
    .TableStyle = "TableStyleLight12"
    .TableStyle = "TableStyleLight13"
    .TableStyle = "TableStyleLight14"
    .TableStyle = "TableStyleLight15"
    .TableStyle = "TableStyleLight16"
    .TableStyle = "TableStyleLight17"
    .TableStyle = "TableStyleLight18"
    .TableStyle = "TableStyleLight19"
    .TableStyle = "TableStyleLight20"
    .TableStyle = "TableStyleLight21"
End With

左から順番に、連番となっています。

「淡色」のテーブルスタイルです

といった感じです。

「中間」のテーブルスタイル

次は、「中間」のテーブルスタイルをみてみます。

「中間」のテーブルスタイルのVBAコードは、「"TableStyleMedium1"」~「"TableStyleMedium28"」まであります。

'中間
With ActiveSheet.ListObjects(1)
    .TableStyle = "TableStyleMedium1"
    .TableStyle = "TableStyleMedium2"
    .TableStyle = "TableStyleMedium3"
    .TableStyle = "TableStyleMedium4"
    .TableStyle = "TableStyleMedium5"
    .TableStyle = "TableStyleMedium6"
    .TableStyle = "TableStyleMedium7"
    .TableStyle = "TableStyleMedium8"
    .TableStyle = "TableStyleMedium9"
    .TableStyle = "TableStyleMedium10"
    .TableStyle = "TableStyleMedium11"
    .TableStyle = "TableStyleMedium12"
    .TableStyle = "TableStyleMedium13"
    .TableStyle = "TableStyleMedium14"
    .TableStyle = "TableStyleMedium15"
    .TableStyle = "TableStyleMedium16"
    .TableStyle = "TableStyleMedium17"
    .TableStyle = "TableStyleMedium18"
    .TableStyle = "TableStyleMedium19"
    .TableStyle = "TableStyleMedium20"
    .TableStyle = "TableStyleMedium21"
    .TableStyle = "TableStyleMedium22"
    .TableStyle = "TableStyleMedium23"
    .TableStyle = "TableStyleMedium24"
    .TableStyle = "TableStyleMedium25"
    .TableStyle = "TableStyleMedium26"
    .TableStyle = "TableStyleMedium27"
    .TableStyle = "TableStyleMedium28"
End With

イメージでみてみると次のような感じです。

「中間」のテーブルスタイルです

左から順番に、連番になってます。

「濃色」のテーブルスタイル

次は、「濃色」のテーブルスタイルをみてみます。

「濃色」のテーブルスタイルのVBAコードは、「"TableStyleDark1"」~「"TableStyleDark11"」まであります。

'濃色
With ActiveSheet.ListObjects(1)
    .TableStyle = "TableStyleDark1"
    .TableStyle = "TableStyleDark2"
    .TableStyle = "TableStyleDark3"
    .TableStyle = "TableStyleDark4"
    .TableStyle = "TableStyleDark5"
    .TableStyle = "TableStyleDark6"
    .TableStyle = "TableStyleDark7"
    .TableStyle = "TableStyleDark8"
    .TableStyle = "TableStyleDark9"
    .TableStyle = "TableStyleDark10"
    .TableStyle = "TableStyleDark11"
End With

「濃色」のテーブルスタイルです。

「濃色」のテーブルスタイルです

こちらも、左から順番に、連番となっています。

テーブルのスタイルを削除する

テーブルのスタイルを削除してみます。

スタイルを削除したい場合は、「.TableStyle = ""」とします。

Sub TEST3()
    
    'スタイルを削除
    ActiveSheet.ListObjects(1).TableStyle = ""
    
End Sub

テーブルを用意しておきます。

テーブルを用意

テーブルを用意します

テーブルのスタイルを削除できます。

スタイルを削除できた

テーブルのスタイルを削除できました

テーブルのスタイルを削除できました。

テーブル名を設定する

テーブル名を設定してみます。

テーブル名を設定したい場合は、「.Name」を使います。

Sub TEST4()
    
    '名前を設定
    ActiveSheet.ListObjects(1).Name = "テーブル100"
    
End Sub

元のテーブル名は、「テーブル1」です。

元のテーブル名は「テーブル1」

元のテーブル名は、「テーブル1」です

実行すると、テーブル名を変更して、「テーブル100」に設定できます。

「テーブル100」に設定できた

テーブル名を変更して、「テーブル100」に設定できました

テーブル名を変更して、「テーブル100」に設定できました。

テーブルを範囲に変換する

テーブルを範囲に変換してみます。

テーブルから元の表形式に戻します。

テーブルを範囲に変換

テーブルを範囲に変換するには、「.Unlist」を使います。

Sub TEST5()
    
    '範囲に変換
    ActiveSheet.ListObjects(1).Unlist
    
End Sub

テーブルを用意しておきます。

テーブルを用意

テーブルを用意します

テーブルを範囲に変換できます。

範囲に変換できた

テーブルを範囲に変換できました

テーブルを範囲に変換できました。

ただ、スタイルが残ったままだと、見た目がよろしくないので、書式を削除して、範囲に変換してみます。

スタイルを削除して範囲に変換

スタイルを削除して範囲に変換するには、範囲に変換する前に、スタイルを削除します。

Sub TEST6()
    
    'スタイルを削除
    ActiveSheet.ListObjects(1).TableStyle = ""
    '範囲に変換
    ActiveSheet.ListObjects(1).Unlist
    
End Sub

テーブルを用意しておきます。

テーブルを用意

テーブルを用意します

これで、テーブルのスタイルを削除して、範囲に変換できます。

スタイルを削除して、範囲に変換できた

テーブルのスタイルを削除して、範囲に変換できました

テーブルのスタイルを削除して、範囲に変換できました。

おわりに

この記事では、テーブルを作成する方法、範囲に変換する方法、スタイルの設定方法について、ご紹介しました。

テーブルを作成するには、「.ListObjects.Add」を使います。

範囲に変換したい場合は、「.ListObjects.UnList」です。

スタイルを設定するしたい場合は、「.ListObjects.TableStyle」を使います。

VBAでテーブルの操作を自動化していきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す