Проблема у друга все время возникает ошибка 438 - PullRequest
0 голосов
/ 27 марта 2020

Я отправил другу рабочую книгу с макросом, включающим некоторую сортировку. Когда он пытается это сделать, он получает:

Ошибка времени выполнения '438' Объект не поддерживает это свойство или метод.

Он нажимает кнопку Отладка, чтобы увидеть код, вызывающий ошибку и переводится в одну или две строки (довольно простой) сортировки данных. Текст, который будет выделен следующим образом:

ActiveWorkbook.Worksheets("Data Set").Sort.SortFields.Add2 Key:=Range( _
    "H2:H8065"), SortOn:=x1SortOnValues, Order:=x1Descending, DataOption:= _
    x1SortNormal 

Это те 3 строки, которые являются частью более крупной сортировки, а затем скопируйте / вставьте et c. У меня отлично работает (Office 365). У него в Чике go - я в Великобритании - возможно, есть более старая версия Windows.

Подобная сортировка происходит в других файлах, которые я ему отправил, и они отлично работают. Кто-нибудь знает, что я могу изменить, чтобы избавиться от этой 438 штуки? Спасибо за любую помощь.

1 Ответ

1 голос
/ 27 марта 2020

Используйте SortFields.Add вместо более новой версии SortFields.Add2, которая не поддерживается в более старых версиях Excel.

Из документации .Add2 :

Этот API-интерфейс включает в себя поддержку сортировки подполя из типов данных, таких как география или акции. Вы также можете использовать метод Add, если сортировка по типу данных не требуется.

... и вы не сортируете по типу данных, поэтому используйте .Add.

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