我试图理解VBA上的代码,调试某人的VBA程序。所以我想知道这是范围(值).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`你能帮帮我吗?如果你需要更多的细节,不存在
发布于 2015-06-22 08:40:04
.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循环和偏移量属性;代码使用不等于0的所有值创建新矩阵。(此外,您还需要删除**以使其运行)
https://stackoverflow.com/questions/30975139
复制相似问题