Range("A2:A100").Sort Key1:=Range("A2"), _
Header:=xlGuess, _
DataOption1:=xlSortTextAsNumbers
Проблемы с сортировкой в Excel
Надо сортировать строки по значениям в столбце
Сами значения состоят только из цифр, тип ячеек объявлен текстовым.
Так вот, ручная сортировка дает предупреждение о возможности не верной сортировки, ежели не "сортировать все значения похожие на числа как числовые данные". А из VBA такого предупреждения нет, и сортировка получается не правильной.
Как с этой пакостью бороться? Объявлять тип ячейки числовым или общим не хочется, там при "больших" числах (> 10 знаков) числовые коды превращаются в числа с экспоненциальной формой записи, а делать этого никак нельзя...
Цитата:
А из VBA такого предупреждения нет, и сортировка получается не правильной. © Serzh 2006 г.
Этого сообщения и не должно быть, так как начиная с MS Excel XP за сортировку [текста как чисел] отвечает именованный аргумент DataOption, а его значение по умолчанию = xlSortNormal
Да и сортировка правильная, только для получения нужных результатов, необходимо использовать возможности, которые предоставляет MS Excel, в данном случае просто установить значение = xlSortTextAsNumber
Код: