我在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 & "]")
,其中tblN
和colN
为字符串变量,具有表名和列名