0
如何在不按名称调用表的情况下引用表中的特定列?我想替换===>范围(“Table1 [CODER]”)< ===与引用.Listobject索引号或使用我定义的变量“tableName”,但我无法弄清楚语法为任一选项。使用表索引对excel表中的列进行排序vba
Public Sub CreateTableAndSortYNG()
Dim tableName As String
With ActiveWorkbook.ActiveSheet
.ListObjects.Add(xlSrcRange, .UsedRange, , xlYes).Name = .Name & "_Table"
tableName = ActiveWorkbook.ActiveSheet.ListObjects(1).DisplayName
MsgBox tableName
.ListObjects(1).Sort.SortFields.Clear
.ListObjects(1).Sort.SortFields.Add Key:=Range("Table1[CODER]"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.ListObjects(1).Sort.SortFields.Add Key:=Range("Table1[TYPE]"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.ListObjects(1).Sort.SortFields.Add Key:=Range("Table1[DSCHG_DT]"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
End With
End Sub
是'CODER'将是什么'TableName'是什么?您可以执行'.ListObjects(1).Sort.SortFields.Add Key:= Range(“Table1 [”&tableName&“]”),...' – BruceWayne
CODER是表格中列的名称。我尝试用索引号或变量“tableName”替换代码的“Table1”部分,因为表永远不会被称为“Table1” –
啊,那我相信你可以做'.ListObjects(1) .Sort.SortFields.Add Key:= Range(tableName&“[CODER]”),_ ...' – BruceWayne