如何在VBA中引用表

我在工作表上放置一个button,以允许在表格中的两列中的所有项目大写。

以下是我在其他地方find的代码,并尝试进行工作:

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,列1和2,而不是B和C.

build议?

为了访问各种表格范围和引用,你需要使用一个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