首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用变量引用ListObject?

如何使用变量引用ListObject?
EN

Stack Overflow用户
提问于 2016-05-10 03:37:06
回答 1查看 9.3K关注 0票数 0

我在Excel中有一个表,它是通过查询SQL数据库生成的,所以我最终得到了一个列标题为A、B、C、D、E的表。

我想根据用户的选择在VBA中填充一个数组。例如,如果单元格A1中有A,数组将使用来自A列的数据填充。如果单元格A1中有B,则数组将填充来自B列的数据,等等。

我目前正在尝试使用以下代码:

代码语言:javascript
复制
Sub Compare()

    Dim WS As Worksheet
    Dim lo As ListObject
    Dim Xaxis As Variant
    Set WS = Worksheets("SQL Table") 'sheet that has SQL generated table
    Set lo = WS.ListObjects("Table") 'Table is the name of the table

    Dim A As String

    A = WS.Range("A1").Value 'A1 in this case has the value A in it
    Xaxis = Worksheets("SQL Table").ListObjects("Table").ListColumns(A).DataBodyRange

End Sub

但是,在试图将字符串变量A用作列表列中的引用的行上会出现错误。

如果我在A周围抛出"",它会工作,但它不是变量。我可以通过使用Case来实现我想要的每一个选项,但我想使它更加精简。是否可以使用变量引用Listobject,例如工作表等等?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-10 04:06:08

试试看以下几点。变动包括:

  • 暗X轴为范围
  • 使用Set关键字
  • 利用已经构造的对象

密码

代码语言:javascript
复制
Sub Compare()

Dim WS As Worksheet
Dim lo As ListObject
Dim Xaxis As Range
Set WS = Worksheets("SQL Table") 'sheet that has SQL generated table
Set lo = WS.ListObjects("Table") 'Table is the name of the table

Dim A As String

A = WS.Range("A1").Value 'A1 in this case has the value A in it
Set Xaxis = lo.ListColumns(A).DataBodyRange

End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37128854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档