エクセルマクロで複数シートを選択し、シート名を表示する方法
エクセルマクロを使って、複数のシートを選択し、そのシート名をメッセージボックスで表示する方法をご紹介します。このマクロは、ArrayとSelectを使用してシートを選択し、選択されたシート名を表示するものです。
コードの全体像
まずは、コード全体を見てみましょう。
Sub ShowSelectedSheetNames()
Dim sheetArray As Variant
Dim sheetName As String
Dim i As Integer
' シート名を配列に格納
sheetArray = Array("Sheet1", "Sheet2", "Sheet3") ' ここに選択したいシート名を追加
' シートを選択
Sheets(sheetArray).Select
' 選択したシート名をメッセージボックスで表示
For i = LBound(sheetArray) To UBound(sheetArray)
sheetName = sheetName & Sheets(sheetArray(i)).Name & vbCrLf
Next i
MsgBox "選択されたシート名は以下の通りです:" & vbCrLf & sheetName
End Sub
コードの詳細解説
それでは、各部分を詳しく見ていきましょう。
1. 変数の宣言
Dim sheetArray As Variant
Dim sheetName As String
Dim i As Integer
最初に、シート名を格納するための配列 sheetArray
、シート名を連結するための文字列 sheetName
、ループカウンタ i
を宣言します。
2. シート名を配列に格納
sheetArray = Array("Sheet1", "Sheet2", "Sheet3") ' ここに選択したいシート名を追加
Array
関数を使って、選択したいシート名を配列に格納します。ここでは例として “Sheet1”, “Sheet2”, “Sheet3” を使用していますが、必要に応じて変更してください。
3. シートを選択
Sheets(sheetArray).Select
Sheets
オブジェクトを使って、配列に格納されたシートを選択します。
4. 選択したシート名をメッセージボックスで表示
For i = LBound(sheetArray) To UBound(sheetArray)
sheetName = sheetName & Sheets(sheetArray(i)).Name & vbCrLf
Next i
MsgBox "選択されたシート名は以下の通りです:" & vbCrLf & sheetName
LBound
と UBound
関数を使って配列の範囲を取得し、ループを使って各シート名を sheetName
文字列に連結します。最後に、MsgBox
関数を使ってメッセージボックスにシート名を表示します。
まとめ
このマクロを使うことで、簡単に複数のシートを選択し、そのシート名を表示することができます。エクセルの操作を自動化する際に、ぜひ活用してみてください。