我有一个 Excel 表,其中第一个字段是一个 ID。我想循环浏览第一列,检查 id 是否匹配。
问题是如何实现这一点,因为我不知道结束范围。
提前致谢!
或者,您可能想使用 Find 和 FindNext
'Here you might want to deduce the range using .End(xlUp).Row with
'65,535 in 2003- or about 1,000,000 as a starting point in 2007+
With Worksheets(4).Range("A:A")
Set rng = .Find What:="what you're looking for"
While Not rng Is Nothing
'do something
Set rng = .FindNext(rng)
Wend
End With
(未经测试,但让它工作应该不难)
经过更多研究,我找到了答案:
For Each c In Worksheets(4).Columns("A").Cells
我使用“Worksheets(4)”,因为表格在工作表 4 中。
您可以循环遍历表中任何列的单元格,而无需行数。如果表在工作簿的 sheet1 中:
Dim rngCol as Range
Dim cl as Range
Set rngCol = Sheet1.Range("TableName[ColumnName]")
For Each cl in rngCol
perform match of some type
Next cl
上面的代码将仅循环遍历数据值,不包括标题行和总计行。不必指定表中的行数。