「excel vba 連続したシートを選択する」
という検索が、このサイト・インストラクターのネタ帳で行われていました。
連続した複数のシートを選択するVBA(Visual Basic for Applications)のコードを探している方による検索です。
詳細がわかりませんので、この要望に流用できそうなタイプのマクロをご紹介しておきます。
複数シートを選択するサンプルマクロ
アクティブなシートから右側にある、全シートを選択するマクロです。
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
の初期値と最終値を変更してやれば、どのシートを選択するかを変更できるので、いろいろとお試しください!
- Newer:ユーザー定義書式でビックリマークの意味は?
- Older:VBAで本文プレースホルダのフォントサイズを調べる
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 複数シートを選択するExcelマクロ