我正在尝试理解VBA上的代码,以调试某人的VBA程序。 所以我想知道这是Range(Value).offset(x; y)的属性和含义。 这是我的代码:
`Sub initialise()
Dim i As Double, j As Double
For i = 0 To maxnodes - 1
For j = 0 To 1
**If Range(initial_range).Offset(i, j) <> 0 Then**
Range(Startrange).Offset(i, j) = Range(initial_range).Offset(i, j)
Else
Range(Startrange).Offset(i, j) = Empty
End If
Next j
Next i
End Sub`
你能帮帮我吗?如果您需要更多详细信息,请不要存在
答案 0 :(得分:0)
.Offset
属性用于从指定位置移动某个位置。
使用方式如下:
ActiveSheet.Cells(1, 1).Offset(Row, Column)
其中正值将行值向下移动(按规定的数量),并向列值的右侧(按规定的数量)移动。负值以相反的方式移动。
因此,类似ActiveSheet.Cells(1,1).Offset(2, 0)
(ActiveSheet.Cells(1,1)
表示单元格A1
)的内容实际上是指cells(3, 1)
或A3
。
因此,在使用for循环和offset属性的代码中;代码正在使用所有不等于0的值创建一个新矩阵。(您还需要删除**
才能使其运行)