Запустив макрос в электронной таблице Excel, я получаю ошибку времени выполнения:
1004 Команда не может быть выполнена с использованием указанного диапазона.
Выбранный Debug и выделенный код:
Selection.Subtotal GroupBy:=5, Function:=xlSum, TotalList:=Array(6, 7, 8, 9, _
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23), Replace:=True, _
PageBreaks:= False, SummaryBelowData:=True
Поиск в другом месте, и я нахожу, что это обычно означает, что была предпринята попытка сортировки, когда не было выбранной ячейки.
Тем не менее, строка непосредственно перед выделенным кодом:
SubRange.Select
И две строки, следующие сразу за этими двумя, по существу идентичны, просто сортируют другой раздел листа:
SortRange.Select
Selection.Sort Key1:=Range("E4"), Order1:=xlAscending, Key2:=Range("A4") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Связана ли разница в SortRange.Выберите в сравнении с SubRange.Выбрать?
В ходе тестирования я обнаружил, что ошибка возникает, когда определенный столбец, содержащий числовые значения, импортируется как текст, а не как Общий. Данные столбца являются числовыми, но имеют начальные нули и не требуют математического манипулирования, поэтому в соответствии с хорошими практиками Excel их следует рассматривать как текст.
Любые идеи, что я должен сделать, чтобы попытаться диагностировать это?