Range(Cells(GYO1, COL1), Cells(GYO2, COL2)).Value = 1
シートを明示しない
With Worksheets("Sheet1")
.Range(Cells(GYO1, COL1), Cells(GYO2, COL2)).Value = 1
End With
この書き方は、
With Worksheets("Sheet1")
.Range(.Cells(GYO1, COL1), .Cells(GYO2, COL2)).Value = 1
End With
と、
Dim SH As Worksheet
Dim GYO1 As Long, GYO2 As Long, COL1 As Long, COL2 As Long
GYO1 = 1: COL1 = 1 ' A1セル位置
GYO2 = 3: COL2 = 4 ' D3セル位置
Set SH = Worksheets("Sheet1")
SH.Range(SH.Cells(GYO1, COL1), SH.Cells(GYO2, COL2)).Value = 1
という書き方になります。
このようにセル範囲を左上、右下のセル位置を特定した矩形で扱うことができますが、この他に、
Dim SH As Worksheet
Dim GYO1 As Long, COL1 As Long
GYO1 = 1: COL1 = 1 ' A1セル位置
Set SH = Worksheets("Sheet1")
SH.Cells(GYO1, COL1).Resize(3, 4).Value = 1
という書き方もあります。これは左上起点だけを指して、行方向、列方向の範囲を指定する方法で、上記と同じ処理結果になります。