我的工作表中有一个名为tblMetaData的表。我创建了一个名为rngTblMetaData的Range变量来引用该表。是否可以使用变量引用此表中的列?例如,在下面的代码中,我想引用表中的一列" tblMetaData"标题"曲目名称"。我通常会使用"WsMetaData.Range("tlbMetaData[Track Name]")"
执行此操作。是否可以通过使用" rngTblMetaData"来缩短它。变量而不是?谢谢!
前:
Public Wb As Workbook
Public WsMetaData As Worksheet
Public rngTblMetaData As Range
Sub SetVariables()
Set Wb = ThisWorkbook
Set WsMetaData = Wb.Sheets("MetaData")
Set rngTblMetaData = WsMetaData.Range("tlbMetaData")
答案 0 :(得分:0)
如果您正在使用Excel表(它是一个ListObject),那么您应该这样调暗它。您可以将表视为工作表上的范围,并按照建议引用它,或直接使用ListObject,但这意味着您按编号引用列,因此必须搜索您的标题:
Public Wb As Workbook
Public WsMetaData As Worksheet
Public tblMetaData As ListObject
Public columnData As Range
Sub SetVariables()
Set Wb = ThisWorkbook
Set WsMetaData = Wb.Sheets("MetaData")
Set tblMetaData = WsMetaData.ListObjects("tblMetaData")
Set columnData = WsMetaData.Range("tblMetaData[Track Names]")
'or
Dim columnNumber As Long
columnNumber = WorksheetFunction.Match("Track Names", tblMetaData.HeaderRowRange, 1)
Set columnData = tblMetaData.ListColumns(columnNumber).DataBodyRange
End Sub