簡體   English   中英

EXCEL-VBA循環更改范圍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM