我在Excel中有一个表,它是通过查询SQL数据库生成的,所以我最终得到了一个列标题为A、B、C、D、E的表。
我想根据用户的选择在VBA中填充一个数组。例如,如果单元格A1中有A,数组将使用来自A列的数据填充。如果单元格A1中有B,则数组将填充来自B列的数据,等等。
我目前正在尝试使用以下代码:
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,例如工作表等等?
发布于 2016-05-10 04:06:08
试试看以下几点。变动包括:
密码
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 Subhttps://stackoverflow.com/questions/37128854
复制相似问题