2016-10-27 14 views
0

テーブルに2つの列のすべての項目を大文字にするために、シートにボタンを配置しています。VBAでテーブルを参照する方法

ここで私は他の場所で発見され、仕事をしようとするようになっているコードです:

Private Sub CommandButton1_Click() 
With Range("B10", Cells(Rows.Count, "B").End(xlUp)) 
     .Value = Evaluate("INDEX(UPPER(" & .Address(External:=True) & "),)") 
    End With 
With Range("C10", Cells(Rows.Count, "C").End(xlUp)) 
     .Value = Evaluate("INDEX(UPPER(" & .Address(External:=True) & "),)") 
    End With 
End Sub 

私は範囲が表2を参照したい、ではなくB &の列1 & 2 C.

提案?

+0

http://peltiertech.com/structured-referencing-excel-tables/ VBAからテーブルを参照するのセクションがあります、そのページの下半分ウェイ –

答えて

1

すべての種類のテーブル範囲と参照にアクセスするには、ListObjectを使用する必要があります。ここでは例です:

Option Explicit 

Sub test() 
    Dim ws As Worksheet 
    Dim t2 As ListObject 
    Set ws = ActiveSheet 
    Set t2 = ws.ListObjects("Table2") 
    Debug.Print t2.ListColumns(1).Name 

    Dim refRange As Range 
    Set refRange = Union(t2.ListColumns(1).Range, t2.ListColumns(2).Range) 
    Debug.Print refRange.Address 
End Sub 
関連する問題