如何获取当前的单元格编号,同时循环一系列单元格(Excel VBA)
我试图获得当前的细胞数量,同时循环通过一系列细胞。
For Each i In Sheet3.Range("A3:A213") msgbox(Sheet3.Range("B"¤tcellnumberinloop).Value) Next
这样做的目的是从同一行的另一个单元格(如A1和B1)中检索一个值。
i
可能声明为Range对象( 或Variant )。 因此,要获取行号并检索相邻B
列中的值,您必须调用i
对象的.Row
方法
Sub ForEachAndFor() Dim i As Range For Each i In Sheet3.Range("A3:A213") MsgBox Sheet3.Range("B" & i.Row).Value Next End Sub
你也可以使用Offset(how_many_rows_up_or_down, how_many_columns_left_or_right)
你用正数表示行,用负数表示行
同样适用于列,使用-
导航到当前单元格的左侧,以及当前单元格的右侧的正数字。
Sub ForEachSub() Dim i as Range For Each i in Sheet3.Range("A3:A213") MsgBox i.Offset(0, 1).Value next i End Sub
尝试这个
Dim i as Integer For Each i In Sheet3.Range("A3:D213").Rows.Count msgbox(Sheet3.Range("B" & i).Value) Next i
在你的代码variables中,我是Rangetypes的,所以你必须这样对待它。 你可以使用Offset来获得与你的i地址相关的东西,例如:
For Each i In Sheet3.Range("A3:A213") MsgBox (i.Offset(0, 1).Value) Next i