2015-07-21 174 views
1

我想在範圍內傳遞一個變量,但我不能,所以整個問題是,我有兩個varibales a和b值可以更改。現在我想選擇這個範圍,但是我無法將它選作VBA中的一個範圍。範圍與作爲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 

請幫

回答

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 
+0

非常棒,對不起我的啞巴 –

0

小錯誤。嘗試這個。

a = ActiveCell.Address 'Get A3 

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

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

Set d = Range(a, b)應該這樣做。你知道Range(ActiveCell, ActiveCell.Offset(20, 0)).Select也一樣嗎?此外,你不應該選擇一個範圍,如果你想複製,例如,你只會使用Range(ActiveCell, ActiveCell.Offset(20, 0)).Copy