0

最初のフィールドがIDであるExcelテーブルがあります。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 

テーブルがワークシート4にあるため、「Worksheets(4)」を使用します。

于 2012-09-07T10:36:42.083 に答える
0

行数を必要とせずに、テーブル内の任意の列のセルをループできます。テーブルがブックのシート 1 にある場合:

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 に答える