EXCEL VBA ワークシートのアクティブ・選択・指定・グループ化(追加選択・複数選択)

 

 

EXCEL VBA ワークシートのアクティブ・選択・指定・グループ化(追加選択・複数選択)

 

 

 ●はじめに

今回は、ワークシートの取り扱い方法。アクティブシート・シートの選択・シートの追加選択・シートのグループ化の利用方法を説明いたします。EXCEL VBAでプログラムを作成するにあたり、特にワークシートの作業は、頻繁に利用します。その中のシートのグループ化は、複写処理などが一括に出来るので覚えるとプログラム作成の幅が広がります。それでは、3つのサンプルプログラムを交えて順番に説明いたします。

 

 

 ●書式の説明 (Worksheetオブジェクト.Active /  Worksheetオブジェクト.Select(Replace))

【指定するワークシートをアクティブ化します】

● Worksheetオブジェクト.Active

●『使用例』
Worksheets(“Sheet1”).Activate    ’・・・ワークシート「Sheet1」をアクティブ化します。

【ワークシートを選択します】

● Worksheetオブジェクト.Select(Replace)

●『使用例①』

Worksheets(“Sheet1”).Select     ’・・・ワークシート「Sheet1」を選択します。

●『使用例②』

Worksheets(“Sheet1”).Select               ‘・・・ワークシート「Sheet1」を選択します。
Worksheets(“Sheet2”).Select False    ‘・・・ワークシート「Sheet2」を追加選択します。

★【ワークシートにおけるActiveメゾットとSelectメゾットとは】

 

 

 

実行ボタンでシートを切り替える(Select:切替・選択)

 

 

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

下記のサンプルは、シートに実行ボタンを設置して、実行ボタン毎に指定したシートを切替えるサンプルプログラムです。

【作成手順】
①ワークシートの「TOP」に各支店の実行ボタンを作成します。
②作成した実行ボタンに「実行マクロ」を登録します。

【実行ボタンの設置方法は、下記URLを参照して下さい】

EXCEL VBA Sheet(シート)上に実行ボタンの設置(VBAプログラムの実行)

【プログラム実行条件】
・ワークシート名を「TOP」・「東京支店」・「大阪支店」・「福岡支店」・「仙台支店」にする。

 

 

 

 

●実行前~実行後 ※ワークシート「TOP」に、各支店のワークシートに切替えるボタンが設定されているので、ボタンをクリックして、各シート「東京支店」・「大阪支店」・「福岡支店」・「仙台支店」に切替えます。
(※各支店に切替後に、TOPに戻ります)
(画面クリックして拡大)

 

 

 

 

ワークシートを複数選択してプリンターへ出力します。(複数シート選択・シートを纏める・ワークシートのグループ化)

 

 

 ●プログラム説明 (サンプル②)  【ワークシートのグループ化】

下記のサンプルプログラムは、ワークシートを複数選択してプリンターへ出力するサンプルプログラムです。

【実行手順】
①メッセージボックスが表示されて「各支店のワークシートを複数選択して出力しますか?」のメッセージが表示されます。
②「Yes」の場合、ワークシート「東京支店”, “大阪支店”, “福岡支店”, “仙台支店”」を選択します。
③複数選択したワークシートをプリンターへ出力します。(プレビュー画面表示)

【プログラム実行条件】
●ワークシート名を”東京支店”, “大阪支店”, “福岡支店”, “仙台支店”にする。

 

 

 

 

 ●実行前~実行後 ※プログラム後、メッセージボックスが表示され、複数選択したワークシート「東京支店”, “大阪支店”, “福岡支店”, “仙台支店”」を纏めてプリンターへ出力されました。
(画面クリックして拡大)

 

 

雛形のワークシートをグループ化で他シートへ複写する
(書式のコピー・一括複写:FillAcrossSheets メゾット)

 

 

 ●プログラム説明 (サンプル③)  FillAcrossSheets メゾット

下記のサンプルプログラムは、ブック内のワークシートに雛形のシートがあり、この雛形シートを別のシートへグループ化で一括に複写するサンプルプログラムです。今回は、FillAcrossSheets メゾットを利用して簡単に、他のワークシートへ複写出来るようにプログラムを作成しております。

【実行手順】
①メッセージボックスが表示されて「”雛形の書式をシートを他のシートへ複写しますか?”」のメッセージが表示されます。
②「Yes」の場合、ワークシートをグループ化「”雛形”, “2020年度”, “2021年度”, “2022年度”」
③雛形シート:セル(A2:G13)をグループ化したシートへ一括複写を行います。

【プログラム実行条件】
●複写元:ワークシート名を”雛形”にする。
●複写先:ワークシート名を”2020年度”, “2021年度”, “2022年度”にする。

 

 

 

  ●実行前~実行後 ※プログラム実行後、「雛形のシートを他のシートへ複写しますか?」のメッセージが表示されます。「はい」クリックしてグループ化したシートに複写します。
(画面クリックして拡大)

 

 

 

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