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

Вход

Регистрация

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

 

= Мир MS Excel/Что делать чтобы макрос не учитывал пустые строки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Что делать чтобы макрос не учитывал пустые строки (Макросы/Sub)
Что делать чтобы макрос не учитывал пустые строки
LyuboVvv Дата: Вторник, 03.03.2015, 17:18 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день! Может кто сталкивался:
1) в одной вкладке есть столбец, который заполняется вручную
2) данные из этого столбца подтягиваются в таблицу во второй вкладке
3) для последней таблицы прописан макрос, который производит сортировку этих данных по алфавиту

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

Как прописать макрос, чтобы он сортировал только заполненные ячейки? Пример во вложении
К сообщению приложен файл: 0001607.xlsm (22.5 Kb)


Сообщение отредактировал LyuboVvv - Вторник, 03.03.2015, 17:20
 
Ответить
СообщениеДобрый день! Может кто сталкивался:
1) в одной вкладке есть столбец, который заполняется вручную
2) данные из этого столбца подтягиваются в таблицу во второй вкладке
3) для последней таблицы прописан макрос, который производит сортировку этих данных по алфавиту

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

Как прописать макрос, чтобы он сортировал только заполненные ячейки? Пример во вложении

Автор - LyuboVvv
Дата добавления - 03.03.2015 в 17:18
Manyasha Дата: Вторник, 03.03.2015, 17:42 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
LyuboVvv, здравствуйте. В голову пришло только копирование значений в другой столбец. В конце макроса он удаляется.
[vba]
Код
Sub ма()
     Application.ScreenUpdating = False
     Dim iLastRow As Long
     iLastRow = Cells(Rows.Count, 3).End(xlUp).Row
     Range("F6:F" & iLastRow).Value = Range("C6:C" & iLastRow).Value
     Range("C6:F" & iLastRow).Sort Key1:=Range("F6"), Order1:=xlAscending, Header:=xlGuess, _
         OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
         DataOption1:=xlSortNormal
     Range("F6:F" & iLastRow).ClearContents
     Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 0001607_1.xlsm (22.1 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеLyuboVvv, здравствуйте. В голову пришло только копирование значений в другой столбец. В конце макроса он удаляется.
[vba]
Код
Sub ма()
     Application.ScreenUpdating = False
     Dim iLastRow As Long
     iLastRow = Cells(Rows.Count, 3).End(xlUp).Row
     Range("F6:F" & iLastRow).Value = Range("C6:C" & iLastRow).Value
     Range("C6:F" & iLastRow).Sort Key1:=Range("F6"), Order1:=xlAscending, Header:=xlGuess, _
         OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
         DataOption1:=xlSortNormal
     Range("F6:F" & iLastRow).ClearContents
     Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 03.03.2015 в 17:42
LyuboVvv Дата: Вторник, 03.03.2015, 18:01 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, Manyasha! сейчас испробуем! yahoo
 
Ответить
СообщениеСпасибо, Manyasha! сейчас испробуем! yahoo

Автор - LyuboVvv
Дата добавления - 03.03.2015 в 18:01
LyuboVvv Дата: Вторник, 03.03.2015, 18:39 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha! всё работает, я скрыла просто этот столбец, чтобы он не мешал и продолжаю дальше строить таблицу))) Ещё раз спасибо!
 
Ответить
СообщениеManyasha! всё работает, я скрыла просто этот столбец, чтобы он не мешал и продолжаю дальше строить таблицу))) Ещё раз спасибо!

Автор - LyuboVvv
Дата добавления - 03.03.2015 в 18:39
_Boroda_ Дата: Вторник, 03.03.2015, 20:39 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
LyuboVvv, Можно формулу писать немного иначе.
Например, так:
Код
=ТЕКСТ('остаток на начало'!C9;";;""яяя"";@")

или так:
Код
=ЕСЛИ('остаток на начало'!C7="";"яяя";'остаток на начало'!C7)

Текст "яяя" скрываем условным форматированием (вкладка Главная - условное форматирование) - или ставим белый шрифт, или ставим формат ;;; (как у меня).
Тогда не нужно вообще макрос менять
К сообщению приложен файл: 3724225.xlsm (22.7 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеLyuboVvv, Можно формулу писать немного иначе.
Например, так:
Код
=ТЕКСТ('остаток на начало'!C9;";;""яяя"";@")

или так:
Код
=ЕСЛИ('остаток на начало'!C7="";"яяя";'остаток на начало'!C7)

Текст "яяя" скрываем условным форматированием (вкладка Главная - условное форматирование) - или ставим белый шрифт, или ставим формат ;;; (как у меня).
Тогда не нужно вообще макрос менять

Автор - _Boroda_
Дата добавления - 03.03.2015 в 20:39
LyuboVvv Дата: Среда, 04.03.2015, 10:26 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, Boroda, при таких формулах тоже всё заработало! :D
 
Ответить
СообщениеСпасибо, Boroda, при таких формулах тоже всё заработало! :D

Автор - LyuboVvv
Дата добавления - 04.03.2015 в 10:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Что делать чтобы макрос не учитывал пустые строки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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