变量范围作为VBA中的输入

时间:2015-07-21 09:37:33

标签: vba excel-vba variables range excel

我正在尝试传递范围中的变量,但我无法,所以整个问题是,我有两个变量a和b,其中值可以更改。现在我想选择这个范围,但我无法在VBA中选择它作为范围。

a  = ActiveCell.Address  ' suppose it returns me A3 

b = ActiveCell.Offset(20, 0).Address  ' suppose it returns me A23

Set d = range("a:b")  ' here i want to select A3:A23, but I am not able to 

d.select

请帮忙

3 个答案:

答案 0 :(得分:1)

您使用引号在范围语句中禁用了ab。他们被视为文字。取消引用它们。

a  = ActiveCell.Address  ' suppose it returns me A3  
b = ActiveCell.Offset(20, 0).Address  ' suppose it returns me A23
Set d = range(a & ":" & b)  ' here i want to select A3:A23, but I am not able to 

d.select

答案 1 :(得分:0)

小错误。试试这个。

a = ActiveCell.Address  'Get A3 

b = ActiveCell.Offset(20, 0).Address  'Get A23

Range(a, b).Select  'Select A3:A23

答案 2 :(得分:0)

Set d = Range(a, b)应该这样做。你知道Range(ActiveCell, ActiveCell.Offset(20, 0)).Select做同样的事吗?此外,您不需要选择范围,例如,如果要复制,则只需使用Range(ActiveCell, ActiveCell.Offset(20, 0)).Copy