我想處理for循環的每個元素。拿這個代碼,爲什麼只處理每個第二個元素?excel vba每個循環一次需要2步
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
在此先感謝您的答案!
我想處理for循環的每個元素。拿這個代碼,爲什麼只處理每個第二個元素?excel vba每個循環一次需要2步
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
在此先感謝您的答案!
而不是引用Row.Cells引用Worksheet.Cells。 另外,您可能需要選擇工作表的ActiveRange,這可以防止for-each中出現大量無用的行。
查看MSDN的示例。
UsedRange,不是ActiveRange。 – 2009-07-13 21:21:13
設置WS與單元B1的範圍內的範圍:B10,其包含的值分別1-10將產生所期望的結果:
子宏1() 昏暗WS作爲範圍
集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)? – 2009-07-13 16:34:57