【发布时间】:2016-01-15 02:31:25
【问题描述】:
如何在不按名称调用表的情况下引用表中的特定列?我想将 ===> Range("Table1[CODER]")
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 & "]"), ... -
CODER 是表中列的名称。我试图用索引号或变量“tableName”替换代码的“Table1”部分,因为该表实际上永远不会被称为“Table1”
-
啊,那我相信你可以做到
.ListObjects(1).Sort.SortFields.Add Key:=Range(tableName & "[CODER]"), _ ...