VBAで別のシートを参照する方法はとても簡単です。対象のシートを指定して、そこからセル・範囲などにアクセスします。

✅ 基本構文
Worksheets("シート名").Range("セル")
または
Sheets("シート名").Cells(行番号, 列番号)
✅ よく使う例
● 別のシートのセルの値を取得
Sub 別シートのセルを取得()
Dim val As Variant
val = Worksheets("Sheet2").Range("A1").Value
MsgBox "Sheet2のA1の値は:" & val
End Sub
● 別のシートに値を書き込む
Sub 別シートに書き込み()
Worksheets("Sheet2").Range("B1").Value = "こんにちは"
End Sub
● アクティブでないシートのセルを変更する
Sub 非アクティブシートの値を変更()
Sheets("Data").Cells(3, 2).Value = 123 ' B3セルに123を入れる
End Sub
● 変数でシートを扱う(おすすめ)
Sub シートを変数で扱う()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet3")
ws.Range("A1").Value = "変数から書き込み"
End Sub
✅ 応用:シートが存在するか確認してから処理
Function SheetExists(sheetName As String) As Boolean
Dim ws As Worksheet
On Error Resume Next
Set ws = ThisWorkbook.Sheets(sheetName)
SheetExists = Not ws Is Nothing
On Error GoTo 0
End Function
使用例:
Sub 安全にシート参照()
If SheetExists("SheetX") Then
MsgBox Sheets("SheetX").Range("A1").Value
Else
MsgBox "シートが存在しません"
End If
End Sub
✅ まとめ
目的 | 書き方例 |
---|---|
値を読む | Sheets("Sheet2").Range("A1").Value |
値を書き込む | Worksheets("Sheet3").Cells(1, 2).Value = 10 |
シートを変数に | Dim ws As Worksheet : Set ws = Sheets("○") |
存在確認 | If SheetExists("○") Then ... |