VBA-按升序日期排列的表格顺序
我有以下代码,我想按升序日期订购表格:VBA-按升序日期排列的表格顺序,vba,excel,Vba,Excel,我有以下代码,我想按升序日期订购表格: Set TableCreated = ActiveSheet.ListObjects.Add(xlSrcRange, Range("$B$8:$F$22"), , xlNo) TableCreated.Name = matchCheck With TableCreated.Sort .SortFields.Add Key:= _ Range("[[#All],[Column1]]"), _ S
Set TableCreated = ActiveSheet.ListObjects.Add(xlSrcRange, Range("$B$8:$F$22"), , xlNo)
TableCreated.Name = matchCheck
With TableCreated.Sort
.SortFields.Add Key:= _
Range("[[#All],[Column1]]"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
End With
但代码正在失败。
我试图通过录制宏并检查代码来找到解决方案:
ActiveWorkbook.Worksheets("T1_Migration_C5_BKO").ListObjects( _
"T1_Migration_C5_BKO").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("T1_Migration_C5_BKO").ListObjects( _
"T1_Migration_C5_BKO").Sort.SortFields.Add Key:=Range( _
"T1_Migration_C5_BKO[[#All],[Column1]]"), SortOn:=xlSortOnValues, Order:= _
xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("T1_Migration_C5_BKO").ListObjects( _
"T1_Migration_C5_BKO").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
这里的问题是表是通过is名称调用的,而不是参数TableCreated
谢谢,
Michael你能试着这样做吗:
With ActiveWorkbook.Worksheets("T1_Migration_C5_BKO").ListObjects(TableCreated.Name).Sort
因此,该表将按其名称调用,例如
TableCreated.name
。它应该能用。你能试着这样做吗:
With ActiveWorkbook.Worksheets("T1_Migration_C5_BKO").ListObjects(TableCreated.Name).Sort
因此,该表将按其名称调用,例如
TableCreated.name
。它应该可以工作。因为您正在命名表,所以请在range参数中使用该名称:
Set TableCreated = ActiveSheet.ListObjects.Add(xlSrcRange, Range("$B$8:$F$22"), , xlNo)
matchCheck = "MyTable"
TableCreated.name = matchCheck
With ActiveSheet.ListObjects(matchCheck).Sort
.SortFields.Add Key:= _
Range(matchCheck & "[Column1]"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
.Apply
End With
还有,别忘了。申请吧 既然要命名表,请在range参数中使用该名称:
Set TableCreated = ActiveSheet.ListObjects.Add(xlSrcRange, Range("$B$8:$F$22"), , xlNo)
matchCheck = "MyTable"
TableCreated.name = matchCheck
With ActiveSheet.ListObjects(matchCheck).Sort
.SortFields.Add Key:= _
Range(matchCheck & "[Column1]"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
.Apply
End With
还有,别忘了。申请吧