每个循环的excel vba一次执行两个步骤

每个循环的excel vba一次执行两个步骤,excel,for-loop,foreach,vba,Excel,For Loop,Foreach,Vba,我想处理for循环的每个元素。以这段代码为例,为什么只处理每一个元素 For Each row In ws.Rows If IsEmpty(row.Cells(row.row, 1)) Then Exit For Else MsgBox row.Cells(row.row, 1).value End If Next 提前感谢您的回答 而不是参考行。单元格参考工作表。单元格。 此外,您可能希望选择工作表的ActiveRange,这将防止在f

我想处理for循环的每个元素。以这段代码为例,为什么只处理每一个元素

For Each row In ws.Rows
    If IsEmpty(row.Cells(row.row, 1)) Then
        Exit For
    Else
        MsgBox row.Cells(row.row, 1).value
    End If
Next

提前感谢您的回答

而不是参考行。单元格参考工作表。单元格。 此外,您可能希望选择工作表的ActiveRange,这将防止在for each中出现大量无用的行


请查看MSDN以获取此示例。

将ws设置为单元格B1:B10范围内的一个范围,该范围分别包含值1-10,将产生所需的结果:

亚宏观1() 变暗ws As范围

设置ws=范围(“B1:B10”)

对于ws.Rows中的每一行

If IsEmpty(ws.Cells(Row.Row, 1)) Then
    Exit For
Else
    MsgBox ws.Cells(Row.Row, 1).Value
End If
下一个


End Sub

我已经有一段时间没有使用VBA了,但是您不应该查看ws.Cells(row.row,1)而不是row.Cells(row.row,1)?