シートの複数選択(Select)
複数のワークシートを選択方法です。
いわゆる作業グループになります。
VBAではシートのコピーや印刷等で必要になる場合もでてきます。
以下では、シート名は、「Sheet1」「Sheet2」「Sheet3」として、VBAサンプルを記載しています。
マクロの記録と同じようにArrayに固定文字で
Sub sample1()
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
End
Sub
シート名がわかっていれば、これで良いですが、シート名が不明な場合は困ります。
シート名の配列を作成する
Sub sample2()
Dim selSht As Variant
Dim i As Long
ReDim
selSht(1 To Sheets.Count)
For i = 1 To Sheets.Count
selSht(i) =
Sheets(i).Name
Next i
Sheets(selSht).Select
End
Sub
上記VBAでは、全シートのシート名を配列に入れています。
Dim selSht() As String
これでも、この場合は大丈夫ですが、
Arrayはバリアント型を返す関数なので、同じデータ型にしたということです。
シートのSelectメソッドの引数にFalseを指定する
Selectメソッドの構文
省略値はTrueです。
Trueを指定した場合は、選択範囲を置き換えます。
Falseを指定した場合は、選択範囲を拡張します。
Sub sample3()
Dim mySht As Variant
For Each mySht In
Sheets
mySht.Select Replace:=False
Next
End
Sub
.Select False
これは、それまでの選択を有効に(選択を拡張して)して、Selectします。
手動の場合に、Ctrlを押して選択した時の動作になります。
最初のSelectには、Falseを指定しないようにします。
オートシェイプのShape.Selectにも、このFalse指定は使えます。
ただし、残念ですが、Rangeには使用できません。
全シートを選択するだけなら
Sub sample4()
Sheets.Select
End Sub
これだけで全シートが選択できます。
通常は、○○○s(1)のように指定します。
そして、コレクション全体を指定する場合は、()を省略します。
ただし、その指定でSelect出来るかどうかは、それぞれのコレクションに依存します。
同じテーマ「マクロVBAサンプル集」の記事
連続セル範囲の選択
1行置きにする行挿入(Insert)
シートの追加・削除(Add,Delete)
シートの複数選択(Select)
複数シートの印刷(PrintOut)
重複削除してコピー(AdvancedFilter)
ブックを安全確実に開く方法(Open)
ブックを閉じる(Close)
他ブックを開いて閉じる(Open,Close)
ブックを開かずにセル値を取得(ExecuteExcel4Macro,Excel.Application)
罫線を簡単に引く(Borders,BorderAround)
新着記事NEW ・・・新着記事一覧を見る
列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
シートのActiveXチェックボックスの指定方法|ツイッター出題回答 (2023-09-24)
ByRef引数の型が一致しません。|ツイッター出題回答 (2023-09-22)
シートコピー後のアクティブシートは何か|ツイッター出題回答 (2023-09-19)
Excel関数の引数を省略した場合について|ツイッター出題回答 (2023-09-14)
セル個数を返すRange.CountLargeプロパティとは|VBA技術解説(2023-09-08)
記号を繰り返してグラフ作成(10単位で折り返す)|ツイッター出題回答 (2023-08-28)
シートを削除:不定数のシート名に対応|VBAサンプル集(2023-08-24)
ランクによりボイントを付ける(同順位はポイントを分割)|ツイッター出題回答 (2023-08-22)
OneDrive使用時のThisWorkbook.Pathの扱い方|VBA技術解説(2023-07-26)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロとは?VBAとは?VBAでできること|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.条件分岐(IF)|VBA入門
- ホーム
- マクロVBA応用編
- マクロVBAサンプル集
- シートの複数選択(Select)
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。