我正在尝试传递范围中的变量,但我无法,所以整个问题是,我有两个变量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
请帮忙
答案 0 :(得分:1)
您使用引号在范围语句中禁用了a
和b
。他们被视为文字。取消引用它们。
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