[英]How to refer dynamicaly to an Excel cell with VBA Macro?
我正在嘗試通過循環進行循環以讀取每個單元格,然后寫入另一張紙。
Sub boucle_for()
Dim col As Integer
Dim lig As Integer
Dim rr As Integer
Dim cc As Integer
col = 4
lig = 3
rr = 15
cc = 24
For i = 0 To 33
Range("R[" & col & "]C[" & lig & "]").Formula = "=AVG('Weekly Changes'!R[" & rr & "]C[" & cc & "]:R[" & (rr + 1) & "]C[" & (cc + 1) & "])"
rr = rr + 14
lig = lig + 1
Next
End Sub
我的目的是動態引用一個單元,但是VBA腳本說這是一個錯誤。 我已經習慣了Java和JavaScript數組,但是我在此方面失敗了。
我在哪里弄錯了?
我總是喜歡使用Cells類(使用R1C1引用)方法,如下所示:
Cells(rr, col).Formula = ...
如果需要多單元格范圍,請執行以下操作:
Range(Cells(rr, col), Cells(rx, colx)).Formula = ...
但是您也可以這樣做:
Range("A5").Formula = ...
某些人會執行將列號轉換為字母的功能。 我認為這很俗氣,但看起來像這樣:
Range(MyNumberToLetterFunction(col) & rr).Formula = ...
或多單元格范圍:
Range("A5:B6").Formula = ...
順便說一句,使用圖紙參考來限定范圍是一種很好的做法。 就像您正在做的那樣,它似乎可以很好地與循環配合使用:
Sheet1.Cells(rr, col).Value = ...
要么
Sheets("My Awesome Stuff").Cells(rr, col).Value = ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.