VBAで選択されている全てのシートを一括参照する

SelectedSheets

指定ブックの指定したウィンドウで選択されている全てのシートを参照するにはSelectedSheetsプロパティを利用します。

選択中の全てのシートに対して一括で削除などを行う場合に利用できるため、シートを1つずつループして処理することが不要になる利点があります。

構文

Window.SelectedSheets

Window 親オブジェクトとしてWindowオブジェクトを指定します。なお、親オブジェクトとしてWorkbookオブジェクトは指定できません。

メソッド

SelectedSheetsには以下のメソッドが用意されています。

Add シートの追加

構文

Function Add([Before], [After], [Count], [Type As XlSheetType]) As Worksheet

戻り値 追加したワークシートのWorksheetオブジェクトを返す。
Before 省略可。指定したワークシートの左に追加する。Afterとの同時指定は不可。
After 省略可。指定したワークシートの右に追加する。Beforeとの同時指定は不可。
Count 省略可。追加するワークシート数を指定。
Type 省略可。追加するワークシートの種類をXlSheetType列挙型で指定。

BeforeとAfterの両方を省略した場合はアクティブシートの左に追加する。

XlSheetType列挙型
定数 内容
xlChart -4109 グラフシート
xlDialogSheet -4116 ダイアログシート
xlExcel4IntlMacroSheet 4 マクロシート
xlExcel4MacroSheet 3 マクロシート
xlWorksheet -4167 ワークシート(既定)
サンプルコード

Copy シートのコピー

構文

Sub Copy([Before], [After])

Before 省略可。指定したワークシートの左にコピーする。Afterとの同時指定は不可
After 省略可。指定したワークシートの右にコピーする。Beforeとの同時指定は不可

引数未設定時は新規ブックにコピーする。

サンプルコード

Delete シートの削除

構文

Sub Delete()

サンプルコード

Move シートの移動

構文

Sub Move([Before], [After])

Before 省略可。指定したワークシートの左に移動する。Afterとの同時指定は不可
After 省略可。指定したワークシートの右に移動する。Beforeとの同時指定は不可

引数未設定時は新規ブックに移動する。

サンプルコード

PrintOut シートの印刷

構文

Sub PrintOut([From], [To], [Copies], [Preview], [ActivePrinter], [PrintToFile], [Collate], [PrToFileName], [IgnorePrintAreas])

PrintPreview シートの印刷のプレビュー

構文

Sub PrintPreview([EnableChanges])

Select シートの選択

構文

Sub Select([Replace])

プロパティ

SelectedSheetsには以下のプロパティが用意されています。

Count シート数
HPageBreaks 水平改ページを表すHPageBreaksコレクションを返す
Item シートをインデックスで指定する
Visible シート表示を指定する
VPageBreaks 垂直改ページを表すVPageBreaksコレクションを返す

サンプルコード

選択されているシートを全て削除するサンプルです。

コード説明

2行目と6行目でApplication.DisplayAlertsを行っていますが、これは警告メッセージを出さないようにするための仕組みです。

もしApplication.DisplayAlertsが無ければ以下のダイアログが表示され、削除するかどうかがユーザー操作に切り替わります。

また、ブックの全てのシートを選択している場合は以下のエラーになります。

関連記事

サブコンテンツ

このページの先頭へ