Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/При сортировке перемещение строк с пустыми ячейками наверх - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
При сортировке перемещение строк с пустыми ячейками наверх
Diana987 Дата: Вторник, 29.10.2013, 12:20 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!

Есть макрос, который по данным формирует специальный отчет. При этом данные в отчете сортируются по столбцу в котором указаны даты.

Но в этом столбце есть ячейки, в которых не указаны даты.
По умолчанию, в экселе при сортировке по возрастанию пустые ячейки перемещаются вниз.
Подскажите, пожалуйста, как можно обойти это правило и сделать так, чтобы строки с пустыми ячейками (без дат) перемещались наверх.

Вот кусок кода сортировки по дате:

Rows("2" & j - 1).Select
ActiveWorkbook.Worksheets("RawData").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("RawData").Sort.SortFields.Add Key:=Range(Cells(2, 11), Cells(j - 1, 11)) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("RawData").Sort
.SetRange Range(Cells(2, 1), Cells(j - 1, 58))
'("A2:BI36")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("L9").Select
Columns("K:K").EntireColumn.AutoFit

Вкладываю архив с файлом эксель, т.к. файл получается больше 100 кб
К сообщению приложен файл: 2458823.zip (29.3 Kb)
 
Ответить
СообщениеДобрый день!

Есть макрос, который по данным формирует специальный отчет. При этом данные в отчете сортируются по столбцу в котором указаны даты.

Но в этом столбце есть ячейки, в которых не указаны даты.
По умолчанию, в экселе при сортировке по возрастанию пустые ячейки перемещаются вниз.
Подскажите, пожалуйста, как можно обойти это правило и сделать так, чтобы строки с пустыми ячейками (без дат) перемещались наверх.

Вот кусок кода сортировки по дате:

Rows("2" & j - 1).Select
ActiveWorkbook.Worksheets("RawData").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("RawData").Sort.SortFields.Add Key:=Range(Cells(2, 11), Cells(j - 1, 11)) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("RawData").Sort
.SetRange Range(Cells(2, 1), Cells(j - 1, 58))
'("A2:BI36")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("L9").Select
Columns("K:K").EntireColumn.AutoFit

Вкладываю архив с файлом эксель, т.к. файл получается больше 100 кб

Автор - Diana987
Дата добавления - 29.10.2013 в 12:20
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!