最初のフィールドがIDであるExcelテーブルがあります。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
テーブルがワークシート4にあるため、「Worksheets(4)」を使用します。
行数を必要とせずに、テーブル内の任意の列のセルをループできます。テーブルがブックのシート 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
上記のコードは、ヘッダー行と合計行を除いて、データ値のみをループします。テーブルの行数を指定する必要はありません。