EXCEL VBA スライサー・ワークシート上のテーブルにスライサーを作成して複数のデータを抽出(Slicer)

 

 

EXCEL VBA スライサー(Slicer)ワークシート上のテーブルにスライサーを作成して複数のデータを抽出

 

 

 ●はじめに

今回説明するのは、ワークシート上に作成したテーブルを利用して簡単にデータを抽出する事のできるスライサーについて説明をいたします。このスライサーは、テーブルで作成しているデータをボダン化して表示されるので、同じデータを抽出する際は、その該当するボダンをクリックする事で簡単にデータを抽出する事が出来ます。また、該当するボタンも複数選択または、列ごとにデータを抽出するボタンを作成する事が出来るので、複雑なデータを抽出する際もボタンをクリックする事で素早く該当データを抽出する事ができます。それでは、サンプルプログラムを交えて順番に説明致します。

 

●【EXCEL VBA テーブル作成・テーブル解除・設定の方法については、下記を参照して下さい】

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

 

 

 

 ●ワークシート上にスライサーの設置方法

● ワークシート上のテーブルデータを元にスライサーを設置するには、下記の通りに設定を行います。

下図は、テーブルデータを元にスライサーを設定する方法を説明したものです。事前にテーブルを作成し、下記のプログラムを実行する事でスライサーを作成する事ができます。

【設定方法】
① ワークシート名を設定します。ここでは、「Sheet1」を設定します。
② スライサーの位置を設定します。ここでは、セル「G2~H10」の場所にスライサーを設置します。
③ テーブル名を設定します。ここでは、「テーブル1」でテーブル名を登録されているのでそのまま設定します。
④ スライサーの対象位置(列)を設定します。ここでは、「性別」を設定します。

【サンプルプログラム】

 


【サンプルプログラム実行前~実行後】

【注意点】
上記のプログラムはスライサーを追加する様に作成していますので、既にスライサーが作成されている場合は、スライサーを削除してからプログラムを実行する必要があります。
(削除せずに実行すると同じスライサーが複数作成されます。)

 

 

 

 

EXCEL VBA スライサー(Slicer)ワークシート上のテーブルに複数のスライサーを作成

 

 

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

下記のサンプルプログラムは、テーブル(社員台帳)にデータが登録されています。このデータから「所属」と「役職」を簡単に抽出できるようにスライサーの設定を行います。事前準備として、テーブル(社員台帳)については、事前にテーブル化する必要があります。それでは、順番に説明致します。

【プログラムの流れ】
① テーブルが登録されているワークシート名を「社員台帳」に指定します。
② スライサーの表示位置を指定します。所属(セル:G2~H10)
③ 1つ目のスライサー(所属)を設置します。
④ スライサーの表示位置を指定します。役職(セル:I2~J10)
⑤ 2つ目のスライサー(役職)を設置します。


【プログラム実行条件】
① テーブル名「社員一覧」でテーブルを作成しておく。
② テーブルデータ内に、「所属」・「役職」を作成します。
③ テーブル名「社員台帳」を作成したシート名を「社員台帳」に設定します。

 

 

 

 

●実行前~実行後 ※プログラム実行後、指定したスライサー(所属と役職)が作成されました。スライサーの選択ボタンを押すことで、テーブルデータを抽出する事が出来ます。
(画面クリックして拡大)

 

 

 

EXCEL VBA テーブルを作成し、スライサー(Slicer)を複数項目作成する(テーブル作成 ⇒ スライサー作成:自動作成)

 

 

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

下記のサンプルプログラムは、サンプル①同様、テーブルデータを元に複数項目のスライサーを作成します。また、今回のプログラムでは、スライサーを使う事前準備として利用するテーブルも作成し、3つのスライサーも順番に作成するサンプルプログラムです。テーブル作成からスライサー作成の一連の流れで動作するので、業務上様々な場面でも利用できると思います。それでは、順番に説明致します。

【プログラムの流れ】
① 
データが登録されているワークシート名「商品一覧」に指定します。
② エラーが発生した場合は、「Err_syori」へ飛びます。
③ セル「A1」を起点にテーブルを作成します。テーブルが未作成の場合はそのままテーブルを作成します。既にテーブルが作成されている場合は、エラーが発生して、「Err_syori」へ飛びます。
④ 既にワークシート上にスライサーが作成している場合は、全て削除します。
⑤ スライサーを設置します。(支店名)
⑥ スライサーを設置します。(カテゴリー)
⑦ スライサーを設置します。(商品)

【プログラム実行条件】
① セル「A1」を起点にデータを作成する。
② 見出し名に「支店名・カテゴリー・商品」を指定作成します。
③ ワークシート名を「商品一覧」にします。

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、セル「A1」を起点とするテーブルが作成されました。支店名・カテゴリー・商品の3つのスライサーも作成されました。
(画面クリックして拡大)

 

 

 

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