Excel 2010 以降、Excel 内で多くのテーブルを使用しています。たとえば、「ID」、「名」、「姓」の 3 つの列を持つテーブル「tabWorkers」があります。
[] を使用して VBA でテーブルを参照できることは既にわかりました。
例えば:
Dim row As Range
For Each row In [tabWorkers].Rows
MsgBox (row.Columns(2).Value)
Next
これにより、すべての行のファーストネームが得られ、うまく機能します。しかし、次のような列の名前を使用して、より動的にしたいと考えています。
Dim row As Range
For Each row In [tabWorkers].Rows
MsgBox (row.Columns("Firstname").Value)
Next
もちろん、列インデックス '2' を FirstnameIndex のような var にバインドするルックアップを作成することもできますが、正しい構文が必要です。可能だと確信していますが、実際には文書化されていません([tabWorkers].Rowsのように)