VBA中的变量取值
。。。。其中VBA中的变量取值,vba,excel,Vba,Excel,。。。。其中VarRange包含列的地址(如B列) 我期待:范围(B1:B20) 这是我的错误。请帮助我VarRange=Cells(1,3)。地址(True,False)将返回类似“C$1”的字符串,因为您指定了第1行和第3列单元格(3,1)。列将返回3,Excel可以理解为引用了列C。因此 VarRange = Cells(1, 3).Address(True, False) Range (VarRange1 : VarRange20 ) 将返回$C$1:$C$20Dim Rng作为R
VarRange
包含列的地址(如B列)
我期待:范围(B1:B20)
这是我的错误。请帮助我VarRange=Cells(1,3)。地址(True,False)
将返回类似“C$1”的字符串,因为您指定了第1行和第3列<代码>单元格(3,1)。列将返回3,Excel可以理解为引用了列C。因此
VarRange = Cells(1, 3).Address(True, False)
Range (VarRange1 : VarRange20 )
将返回$C$1:$C$20Dim Rng作为RangeSet Rng=工作表(“SheetName”)。范围(“B1:B20)Rng是存储excel范围的变量。什么错误?无论如何,当然是。您声明了一个名为
VarRange
的变量,而不是两个名为VarRange1
和VarRange20
的变量。如果要串联字符串,则需要使用&
运算符。您不能只编写所需的内容我不知道Address()
是如何工作的,但是如果VarRange
包含字符串,您需要类似Range(VarRange&“1:”&VarRange&“:20”)
的内容“
。但无论如何,有很多更好的方法可以做到这一点。(嗯,在我的例子中,去掉第二个:
。。我确实说过类似于:P的话)
VarRange = Cells(1, 3).Column
MsgBox Range(Cells(1, VarRange), Cells(20, VarRange)).Address