VBA 別のシートを参照する方法

未分類

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 ...
タイトルとURLをコピーしました