我正在尝试在循环浏览一系列单元格时获取当前单元格编号。
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
在你的代码变量中,i是Range类型,因此你必须这样对待它。您可以使用 Offset 来获取与您的 i 地址相关的内容,如下所示:
For Each i In Sheet3.Range("A3:A213")
MsgBox (i.Offset(0, 1).Value)
Next i