У меня есть код, который сначала обновляет набор данных из ODBC, а затем обновляет несколько сводок, связанных с этими данными.
Сводки должны иметь собственный порядок сортировки, чтобы данные отображались в «правильном» порядке.клиенту.
Заказ сортировки должен быть определен заказчиком и может изменяться в любой момент.Чтобы включить это, я добавил две таблицы с именами групп и кодами счетов на листе настроек.Затем они могут упорядочить строки в этих таблицах в нужном им порядке.
Затем мне нужно добавить данные из этих таблиц в список сортировки, который можно установить в сводных точках.
Я использую Application.AddCustomList
, чтобы добавить пользовательский список в Excel.Это работает нормально, если я просто пытаюсь добавить один список, но когда он пытается добавить второй, он выдает ошибку:
"Метод 'AddCustomList' объекта '_Application' не выполнен".
Ниже приведен код:
' Deletes old sort orders
On Error Resume Next
Dim i As Long
For i = 1 To Application.CustomListCount
Application.DeleteCustomList (i)
Next i
On Error GoTo 0
' Adds custom sort for customers to appplication
Application.AddCustomList ListArray:=Range("tblSortList[Account Code]")
' Gets the number of the custom sorts
CustomerSortNo = Application.CustomListCount
' Adds custom sort for groups to appplication
Application.AddCustomList ListArray:=Range("tblGroupSort[Group]")
' Gets the number of the categorysort
CategorySortNo = Application.CustomListCount
' Sorts the pivots
Pt.SortUsingCustomLists = True
PTTotals.SortUsingCustomLists = True
PTYearGroup.SortUsingCustomLists = True
PTGroupAvg.SortUsingCustomLists = True
Pt.PivotFields("Account Code").DataRange.Sort Order1:=xlAscending, Type:=xlSortLabels, OrderCustom:=CustomerSortNo + 1 ' +1 as No Calcualtion is number 1.
PTTotals.PivotFields("Account Code").DataRange.Sort Order1:=xlAscending, Type:=xlSortLabels, OrderCustom:=CustomerSortNo + 1 ' +1 as No Calcualtion is number 1
Pt.PivotFields("Group").DataRange.Sort Order1:=xlAscending, Type:=xlSortLabels, OrderCustom:=CategorySortNo + 1 ' +1 as No Calcualtion is number 1.
PTTotals.PivotFields("Group").DataRange.Sort Order1:=xlAscending, Type:=xlSortLabels, OrderCustom:=CategorySortNo + 1 ' +1 as No Calcualtion is number 1
PTYearGroup.PivotFields("Group").DataRange.Sort Order1:=xlAscending, Type:=xlSortLabels, OrderCustom:=CategorySortNo + 1 ' +1 as No Calcualtion is number 1
PTGroupAvg.PivotFields("Group").DataRange.Sort Order1:=xlAscending, Type:=xlSortLabels, OrderCustom:=CategorySortNo + 1 ' +1 as No Calcualtion is number 1
Текущий сбой на линии: Application.AddCustomList ListArray:=Range("tblGroupSort[Group]")
Если я переупорядочу код и добавлю список сортировки группыво-первых, он будет работать нормально и с ошибкой в списке кодов учетных записей.
Я пытался разделить добавление пользовательского списка в подпрограмму для каждого, но это не имело значения.
Как добавитьдва списка диапазонов?