Редактировать: Решено! Пока не удается решить проблему.Сортировка элементов таблицы Excel на основе даты
У меня есть сводная таблица с полем «даты». Мне нужен код VBA, который сортируется от самых старых до новейших.
Мне нужны даты для формата AUS, т.е. dd/mm/yyyy или d mmm yyyy или аналогичный. Это когда Excel не упорядочивает их правильно.
Итак, давайте говорить, что pivotfield «Даты» имеет следующие пункты поворота:
01 Jan 2012
30 Apr 2012
(blank)
03 Feb 2013
14 Feb 2012
22 Nov 2012
Правильный порядок будет:
01 Jan 2012
14 Feb 2012
30 Apr 2012
22 Nov 2012
03 Feb 2013
(blank)
Я думаю, что я не подвожу ближе, но до сих пор не повезло.
Dim pi As PivotItem
Dim pfd As PivotField
Dim pt As PivotTable
Set pfd = pt.PivotFields("Snapshot Date")
For Each pi In pfd.PivotItems
pi = CDate(pi) 'converts to US date for sorting
Next pi
pfd.AutoSort _
xlAscending, "Snapshot Date"
For Each pi In pfd.PivotItems
pi = Format(pi, "d mmm yyyy") 'converts to AUS
Next pi
Благодарим за помощь. Ramify
делает клетку имеет формат дату? Когда вы нажимаете на ячейку, вы должны иметь «01/01/2012» в формуле. – Uflex
Я обновил описание :) – Ramify
ну, лучше с кодом ... ваша функция PivotFields возвращает диапазон справа? Почему бы вам не использовать сортировку? – Uflex