繁体   English   中英

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

[英]How can I set the range of the first listobject in an Excel worksheet to be a variable?

我在Excel中有一个宏,可用于更改和处理表中的数据。 我正在尝试使其在影响的表中不太具体。 当我需要搜索表时,宏会显式引用表名,有时还会引用特定的表头,如下所示:

Range("productUpdate[id]")

我希望我的宏能够处理与特定条件不匹配的表。 我想可以将名称分配给变量,但是我不知道如何获取所需的数据。 我将如何完成?

我查找信息的标准:

  • 桌子的名字可以是任何东西。
  • 第一列标题可以命名为任何东西。
  • 该表将始终是工作表中的第一个表/列表对象。

您可以使用字符串串联。 Range(tblN & "[" & colN & "]")其中tblNcolN是具有表名和列名的字符串变量。

假设我正确理解了您的问题,您可以这样将变量指向工作表中的第一个表:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM