如何将Excel工作表中的第一个列表对象的范围设置为变量



我在Excel中有一个宏,我用它来改变和处理表中的数据。我试着让它在影响的表格中不那么具体。当我需要搜索表时,我的宏显式引用表名,有时还引用特定的表头,如下所示:

Range("productUpdate[id]")

我希望我的宏能够处理不符合特定条件的表。我想我可以把名字赋给一个变量,但我不知道如何获得我需要的数据。我该如何做到这一点?

我查找信息的标准:

  • 表的名称可以是任何名称。
  • 第一个列标题可以命名为任何名称。
  • 表总是工作表中的第一个表/列表对象。

假设我正确理解了您的问题,您可以将点一个变量引用到工作表中的第一个表,如下所示:

Sub Testit()
    Dim tbl As ListObject
    Set tbl = Sheet1.ListObjects(1)
End Sub
从那里,您可以根据需要引用表属性。例子:
MsgBox tbl.Name
MsgBox tbl.ListColumns.Count
MsgBox tbl.ListColumns(2).Name

可以使用字符串连接。Range(tblN & "[" & colN & "]"),其中tblNcolN为字符串变量,具有表名和列名

最新更新