EXCEL VBA テーブル作成・テーブル解除・設定の方法

 

EXCEL VBA テーブル作成・テーブル解除・設定の方法(ListObjectsコレクションのAddメゾット)

 

 

 ●はじめに
EXCELの機能でデータベースを管理する場合、とても便利な機能でテーブル機能があります。このテーブル機能は、データベースを管理する場合にとても便利な機能です。今回は、そのテーブル機能をVBAで作成・解除・設定する方法を説明いたします。VBAでテーブル機能を設定するには、ListObjectsコレクションのAddメゾットを利用します。それでは、VBAでのテーブル作成方法をサンプルプログラムを交えて説明いたします。

 

 

 ●書式の説明  [ ListObjectsコレクションのAddメゾット] 

【テーブル作成 ListObjectsコレクションのAddメゾットの利用方法】

WorkSheetオブジェクト.ListObjects.Add
(SourceType,Source,LinkSource,XlListObjectHeaders,Destination)

ListObjectsコレクションのAddメゾット
SourceType(省略可能)元データの種類を指定します。
Source(省略可能)元データのセル範囲を指定します。
LinkSource(省略可能)外部データベースをリンクするかを論理値で指定します。
XlListObjectHeaders(省略可能)元データの先頭行が見出し行かどうかを定数で指定します。
Destination(省略可能)テーブルを作成する左上のセルをRangeオブジェクトで指定します。

※テーブルをVBAで作成するにあたり、詳細に設定する事は可能ですが、実際は定数を設定せずに、ほぼ省略できるので特にこだわりが無ければ、LinkSourceのみの設定で良いと思います。それでは、下記に3つのサンプルプログラムを作成しましたので、参考して下さい。

 

EXCEL VBA テーブル作成・設定の方法・セル範囲のテーブル化(ListObjectsコレクションのAddメゾット)

 

 

 ●プログラム説明 (サンプル①)
下記のサンプルプログラムは、EXCELデータからテーブルを作成します。作成するテーブルについては、ワークシート「品名リスト」からテーブル名「品目テーブル」で作成します。

※テーブルは、一度作成してあるテーブルに対して再度、テーブルを作成するとエラーが発生しますので、注意してください。

 

 

 

 

●実行前~実行後 ※プログラム実行後、EXCELデータからテーブルが作成されました。
(画面クリックして拡大)

 

 

 

EXCEL VBA テーブル作成・テーブル書式・設定の方法(デザインの設定・変更:TableStyle)

 

 

 ●プログラム説明 (サンプル②)

下記のサンプルプログラムは、テーブルを作成して作成したデザインを順番に変更するサンプルプログラムです。EXCELでテーブルデザインを変更する際は、デザインを選びながら設定する必要がありますが、VBAプログラムで順番にデザインが変わるプログラムを作成する事で確認しながら好きなデザインを選ぶ事ができます。

※テーブル書式の一覧(TableStyle)は、下記を参照してください。

【テーブル書式・デザインの設定:例】
ActiveSheet.ListObjects(“品目テーブル”).TableStyle = “TableStyleMedium1
※ (テーブル スタイル (中間)TableStyleMediumの1番のデザインが設定されます。)

テーブルのスタイル種類TableStyle範囲デザイン一覧
テーブル スタイル (淡色) TableStyleLight1~21
テーブル スタイル (中間)TableStyleMedium1~28
テーブル スタイル (濃色) TableStyleDark1~11

 

 

 

 ●実行前~実行後 ※プログラム実行後、テーブルのデザインが順番に切り替わります。ひとつずつ手動で切り替えるのは大変ですが、プログラム化して実行する事で順番にデザイン(Style)が切り替わり好きなデザインを選ぶ事が出来ます。
(画面クリックして拡大)

 

 

 

EXCEL VBA テーブル作成(他のシートからデータを収集しテーブルを作成・再設定)

 

 

 ●プログラム説明 (サンプル③)

下記のサンプルプログラムは、各シート(東京支店・大阪支店)にあるデータを集計シートにデータを収集して、収集した集計シートにテーブルを作成します。今回のプログラムは、何度でも収集出来る様に作成しています。また、シートも条件により増やしても集計出来る様にプログラムを作成いています。


 

 

 

●実行前~実行後 ※プログラム実行後、シート「集計」に各シートからデータ集まりシート「集計」にテーブルを作成されました。
(画面クリックして拡大)

 

 

 

EXCEL VBA テーブルの設定を削除(作成したテーブルを解除)

 

 

 ●プログラム説明 (サンプル④)
下記のサンプルプログラムは、作成したテーブルを解除するプログラムです。

 

 

 

●実行前~実行後 ※プログラム実行後、テーブルが解除されました。
(画面クリックして拡大)

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。