我有一个 excel 电子表格,其中有一列的公式=IF(L2=N2, IF(N2>0,TRUE, FALSE), FALSE)
为我提供了 True 或 False 值。如果我在 excel 中打开此电子表格并按升序对列进行排序,则它会正确排序。录制返回的宏如下。
ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Add _
Key:=Range("X1:X2188"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
当我将其转移到访问权限时,我有。
With WorkSheet
.AutoFilter.Sort.SortFields.Clear
.AutoFilter.Sort.SortFields.add _
Key:=.range("X1:X2188"), SortOn:=0, Order:=1, DataOption:=0
With .AutoFilter.Sort
.Header = 1
.MatchCase = False
.Orientation = 1
.SortMethod = 1
.Apply
End With
End With
代码运行良好,没有返回错误,但它似乎忽略了xlSortOnValues
常量并且不对列进行排序。在排序之前复制和粘贴值,但我想知道为什么这在 excel 中有效,而不是通过访问。