Код VBA для сортировки данных не работает только для данных, загруженных в Excel с помощью Power Query - PullRequest
0 голосов
/ 10 марта 2020

Почему приведенный ниже код не работает с данными, загруженными в Excel с помощью PowerQuery, хотя он полностью работает с теми же данными, которые были экспортированы из системы в файл 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

1 Ответ

0 голосов
/ 10 марта 2020

Мне пришлось изменить формат столбца «Созданная дата» с общего на дату. И это работает. Я этого раньше не замечал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...