[英]How can I reference a cell in a named range with an offset?
我正在嘗試根據我在另一個相同大小范圍內查看的行,在 VBA 中如何讀取和更新一個范圍內的特定行。
因此,假設 A3:A9 是一個范圍“Alpha”,而 F18:F24 是另一個范圍“Foxtrot”。
我知道 A5 已被單擊,並且由於查詢“Alpha”的 Row 屬性返回范圍的起始行,我可以使用代碼確定在 Alpha 中單擊的單元格的位置:
iRowOffset = cell.Row - Range("Alpha").Row
我已經想出了如何在 Foxtrot 中讀取同一行
Range("Foxtrot").Value2(iRowOffset + 1, 1)
我不知道如何實際更新 Foxtrot
Range("Foxtrot").Value2(iRowOffset + 1, 1) = 3
不會出錯,但也不會更新電子表格中的值,或者通過 Locals 查看時范圍 object 中的值。
我要避免的是硬編碼兩個范圍的相對位置,例如通過從 Range("Alpha") 中的單元格偏移,因為我希望靈活地在工作表上移動 Foxtrot 而不必擔心更新編碼。
Range("Foxtrot").Value2(iRowOffset + 1, 1)
.Value2
返回的數組的索引。
您實際上需要參考Range
object。
Range("Foxtrot").Cells(iRowOffset + 1, 1).Value2 = 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.