[英]EXCEL-VBA Change a range with a loop
Set rng = Worksheets("Sheet1").Range("B2")
我具有上述要求,並希望運行一個循環來更改我使用/評估的范圍。 我嘗試了以下變化。
for x = 2 to 10
Set rng = Worksheets("No-Funding").Range(x & "2")
Next X
我已經進行了一些調查,發現了其他堆棧溢出: Excel VBA循環公式來更改范圍在這種情況下,我還是無法理解。
我的代碼也不能使用單元格,我已經嘗試過了,只能使其與Range一起使用。 感謝您提供的任何幫助!
對於嚴格的數字增量,請嘗試,
Set rng = Worksheets("No-Funding").Cells(x, 2)
可以通過考慮ASCII字符來獲得xlA1
樣式參考。
Set rng = Worksheets("No-Funding").Range(Chr(64 + x) & 2)
嘗試這個:
For x = 2 To 10
Set rng = Worksheets("No-Funding").Cells(2, x)
Next x
據我所知,對於VBA來說,是否使用函數.Range
或.Cells
都是.Cells
,因為它們都返回對象或Range
類型。
采用
Set rng = Worksheets("Sheet1").Range("B2").Offset(0,x)
移動到另一列。 更好了
Dim values as Variant, rng as Range
Set rng = Worksheets("Sheet1").Range("B2").Resize(10,1)
values = rng.Values2
For i=1 to 10
values(i,1) = 2*values(i,1)
Next i
rng.Values2 = values
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.