VBA代码,用于对数据进行排序,而不是仅对通过Power Query上载到Excel的数据进行排序



为什么下面的代码对PowerQuery上传到Excel的数据不起作用,而对从系统导出到Excel文件的相同数据却完全起作用?

Sheet1.Activate
If Not Sheet1.AutoFilterMode Then Sheet1.UsedRange.AutoFilter
If Sheet1.Cells.AutoFilter Then Sheet1.Cells.AutoFilter
With ActiveSheet.AutoFilter.Sort
.SortFields.Clear
.SortFields.Add2 Key:=dataRows.Columns(1) 'sort by Number
.SortFields.Add2 Key:=dataRows.Columns(2) 'sort by Region
.SortFields.Add2 Key:=dataRows.Columns(4) 'sort by Date
.Apply
End With

当对从系统导出到Excel文件的数据运行宏时,我的数据就是这样排序的。这就是我想要的。最重要的是,创建日期的排序是正确的——每个特定的数字和区域从最早到最新。

Number  Region  Created Date
4350257 EMEA    16/08/2018
4350257 EMEA    03/03/2020
4350257 NA      14/12/2018
4350257 NA      20/12/2018
4879668 EMEA    05/11/2018
4879668 EMEA    14/11/2018

这是在运行相同的宏,但使用PowerQuery上载的数据时发生的:问题:为什么创建日期没有正确排序?(从最旧到最新(

Number  Region  Created Date
4350257 EMEA    03/03/2020
4350257 EMEA    16/08/2018
4879668 EMEA    03/03/2020
4879668 EMEA    26/02/2020
4350257 NA      14/12/2018
4350257 NA      20/12/2018

我不得不将Created Date列的格式从General更改为Date。它正在发挥作用。我以前没注意到。

最新更新