2017-08-31 14 views
1

Excel VBAでは、Excelテーブルをループし、その行の別の列を更新しようとしています。レイアウトが変更された場合のオフセット/数値ではなく、その名前で他の列を参照したいと思います。それは可能ですか?VBA - テーブルをループし、列名を使用して別の列を更新する

Dim rw As ListRow 
Dim cl As Range 

For Each rw In ActiveSheet.ListObjects("MasterData").ListRows 
    'Pseudo code: 
    if (rw[Notes] = "Test") then DO SOMETHING 'In this line I'd like to refer to the column called "Notes" but not sure how to do it. 
Next rw 

答えて

0

Intersect functionは、ジョブの約90%を行います。残りはこのようなものです:

Option Explicit 

Sub TestMe() 

    Dim rw   As Range 
    Dim cl   As Range 
    Dim rngCell  As Range 

    For Each rw In [MyTable].Rows 
     Set rngCell = Intersect(rw, [MyColumnName]) 
     If Not rngCell Is Nothing Then 
      If rngCell = "Text" Then Debug.Print rngCell.Address 
     End If 
    Next rw 

End Sub 

  • [MyTableという]は、テーブルの名前です。
  • [MyColumnName]は、列の名前です。
関連する問題