我帮助某人写一个函数来垂直翻转一系列数字(这几乎是不相关的)
在这样做的过程中,我遇到了一些问题,将一个范围分配给另一个范围。
我会发布不起作用的代码,以及代码是什么。我不知道为什么或为什么不在每个例子中,并且非常感谢解释。
通过'工作'我的意思是该函数返回预期的结果,并且“不工作”。我的意思是我在每个单元格中得到#VALUE。
完整的工作职能:
Function flip(rng As Range)
numRows = rng.Rows.Count
numCols = rng.Columns.Count
Dim rng1 As Variant
rng1 = rng
For c = 1 To numCols
For r = 1 To numRows
rng1(r, c) = rng(numRows - r + 1, c)
Next r
Next c
flip = rng1
End Function
我感兴趣的具体部分涉及rng1 = rng
使用:
rng1=rng 'without Dim rng1 as anything
Dim rng1 As Variant
rng1 = rng
不能工作:
Dim rng1 As Range
rng1=rng
由于rng是一个范围,而我Dim rng1作为一个范围,为什么我不能说rng1 = rng?!?!