我正在尝试获取当前的单元格数,同时循环遍历一系列单元格。
For Each i In Sheet3.Range("A3:A213")
msgbox(Sheet3.Range("B"¤tcellnumberinloop).Value)
Next
这样做的目的是从同一行中的另一个单元格中检索值,例如A1和B1。
答案 0 :(得分:2)
i
可能被声明为Range对象(或Variant )。因此,要获取行号并检索相邻B
列中的值,您必须调用.Row
对象的i
方法
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
答案 1 :(得分:0)
试试这个
Dim i as Integer
For Each i In Sheet3.Range("A3:D213").Rows.Count
msgbox(Sheet3.Range("B" & i).Value)
Next i
答案 2 :(得分:0)
在你的代码变量中,我是一个Range类型,因此你必须这样对待它。您可以使用Offset来获取与您的i地址相关的内容,例如:
For Each i In Sheet3.Range("A3:A213")
MsgBox (i.Offset(0, 1).Value)
Next i