シートを取得するには以下のような方法があります。
Set ws = wb.Worksheets("Sheet1")
Set ws = wb.Worksheets(1)シート名で指定するとき、この記事のようにエラーハンドリングをします。
シート番号のときは以下のように書きます。
Sub AccessSheet()
Dim sheetIndex As Long
Dim ws As Worksheet
sheetIndex = 5 ' 5番目のシートにアクセスしたい場合
' シートの総数をチェックして、存在するシート番号か確認する
If sheetIndex > 0 And sheetIndex <= ThisWorkbook.Sheets.Count Then
Set ws = ThisWorkbook.Sheets(sheetIndex)
' 好きな処理
MsgBox "シート名: " & ws.Name, vbInformation
Else
MsgBox "指定されたシート番号は存在しません。", vbExclamation
End If
End SubsheetIndex=
Sub AccessSheet()
Dim sheetIndex As Long
Dim ws As Worksheet
sheetIndex = 5 ' 5番目のシートにアクセスしたい場合
' シートの総数をチェックして、存在するシート番号か確認する
If sheetIndex > 0 And sheetIndex <= ThisWorkbook.Sheets.Count Then
Set ws = ThisWorkbook.Sheets(sheetIndex)
' 好きな処理
MsgBox "シート名: " & ws.Name, vbInformation
Else
MsgBox "指定されたシート番号は存在しません。", vbExclamation
End If
End Subシート番号が5のとき、メッセージボックスを表示します。
‘ 好きな処理 とあるところを書き換えて使ってみてください。
ThisWorkbook.Sheets.Countでブックのシート数を取得していますが、頻出なので覚えましょう。









コメントを残す