0

我有一个 Excel 表,其中第一个字段是一个 ID。我想循环浏览第一列,检查 id 是否匹配。

问题是如何实现这一点,因为我不知道结束范围。

提前致谢!

4

3 回答 3

3

或者,您可能想使用 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

(未经测试,但让它工作应该不难)

于 2012-09-07T11:39:05.147 回答
1

经过更多研究,我找到了答案:

For Each c In Worksheets(4).Columns("A").Cells 

我使用“Worksheets(4)”,因为表格在工作表 4 中。

于 2012-09-07T10:36:42.083 回答
0

您可以循环遍历表中任何列的单元格,而无需行数。如果表在工作簿的 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

上面的代码将仅循环遍历数据值,不包括标题行和总计行。不必指定表中的行数。

于 2016-06-03T08:46:49.623 回答