Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 複数シートを選択するExcelマクロ

複数シートを選択するExcelマクロ

対象:Excel2003, Excel2007, Excel2010

「excel vba 連続したシートを選択する」
という検索が、このサイト・インストラクターのネタ帳で行われていました。

連続した複数のシートを選択するVBA(Visual Basic for Applications)のコードを探している方による検索です。

詳細がわかりませんので、この要望に流用できそうなタイプのマクロをご紹介しておきます。

[スポンサードリンク]

複数シートを選択するサンプルマクロ

アクティブなシートから右側にある、全シートを選択するマクロです。

Sub アクティブシートから右側のシートをすべて選択する()
 Dim i As Long  For i = ActiveSheet.Index To Sheets.Count
  Sheets(i).Select Replace:=False
 Next i
End Sub

上記のマクロを実行すると、アクティブシートの右にある、ワークシートもグラフシートもすべて選択します。

サンプルマクロの解説

アクティブなシートのインデックス番号から、シートの枚数までFor Nextループを回して
 For i = ActiveSheet.Index To Sheets.Count

シートを選択していきます。
  Sheets(i).Select Replace:=False

ポイントは、Selectメソッドの引数・Replaceに、Falseを指定することです。

オブジェクトを選択する際に、既に選択しているオブジェクトの選択を解除するかどうかを指定する引数で、Falseを指定してやることで既に選択しているシートの選択が解除されず複数のシートを選択できるわけです。

標準引数を使った、
 Sheets(i).Select False
というコードでも動きますが、Falseだけでは何がFalseなのかわかりづらいですから、可読性を上げるために上記のとおり名前付き引数を使って、
  Sheets(i).Select Replace:=False
としておくほうがいいでしょう。

For Next文
 For i = ActiveSheet.Index To Sheets.Count
の初期値と最終値を変更してやれば、どのシートを選択するかを変更できるので、いろいろとお試しください!

関連語句
複数のシートを選択するマクロ

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 複数シートを選択するExcelマクロ

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.
.