为什么我不能将一个范围设置为另一个范围?

时间:2015-10-30 06:38:43

标签: excel vba variables range

我帮助某人写一个函数来垂直翻转一系列数字(这几乎是不相关的)

在这样做的过程中,我遇到了一些问题,将一个范围分配给另一个范围。

我会发布不起作用的代码,以及代码是什么。我不知道为什么或为什么不在每个例子中,并且非常感谢解释。

通过'工作'我的意思是该函数返回预期的结果,并且“不工作”。我的意思是我在每个单元格中得到#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?!?!

0 个答案:

没有答案