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

Вход

Регистрация

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

 

= Мир MS Excel/Скрытие строк по условию - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрытие строк по условию (Макросы/Sub)
Скрытие строк по условию
Anis625 Дата: Вторник, 13.02.2018, 22:04 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Добрый вечер, всем тем кто еще не спит.

Есть один макрос, который отлично скрывает строки когда в конце заданного диапазона есть пустые ячейки:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, R&
R = 4
Range("4:13").EntireRow.Hidden = False
For Each c In Range("A4:A13")
    If c.Value = "" Then Exit For
    R = R + 1
Next
Range(R & ":13").EntireRow.Hidden = True
End Sub
[/vba]

Появилась одна задачка которую не смог решить этим макросом. Пытался подправить сам - все ломается.

Когда появляются пустые строки внутри диапазона - макрос скрывает строки от этой пусто и все ниже (в т.ч. там где есть инфа).

Файл во вложении. Если не сложно, помогите подпилить макрос.
К сообщению приложен файл: -_-.xlsm(14.5 Kb)
 
Ответить
СообщениеДобрый вечер, всем тем кто еще не спит.

Есть один макрос, который отлично скрывает строки когда в конце заданного диапазона есть пустые ячейки:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, R&
R = 4
Range("4:13").EntireRow.Hidden = False
For Each c In Range("A4:A13")
    If c.Value = "" Then Exit For
    R = R + 1
Next
Range(R & ":13").EntireRow.Hidden = True
End Sub
[/vba]

Появилась одна задачка которую не смог решить этим макросом. Пытался подправить сам - все ломается.

Когда появляются пустые строки внутри диапазона - макрос скрывает строки от этой пусто и все ниже (в т.ч. там где есть инфа).

Файл во вложении. Если не сложно, помогите подпилить макрос.

Автор - Anis625
Дата добавления - 13.02.2018 в 22:04
Nic70y Дата: Вторник, 13.02.2018, 22:38 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4884
Репутация: 1060 ±
Замечаний: 0% ±

Excel 2013
[vba]
Код
    For Each c In Range("A4:A13")
    If c = "" Then
    c.Rows.EntireRow.Hidden = True
    End If
    Next
[/vba]


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)
 
Ответить
Сообщение[vba]
Код
    For Each c In Range("A4:A13")
    If c = "" Then
    c.Rows.EntireRow.Hidden = True
    End If
    Next
[/vba]

Автор - Nic70y
Дата добавления - 13.02.2018 в 22:38
Anis625 Дата: Вторник, 13.02.2018, 22:45 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Теперь все строки скрываются =)
 
Ответить
СообщениеТеперь все строки скрываются =)

Автор - Anis625
Дата добавления - 13.02.2018 в 22:45
Anis625 Дата: Вторник, 13.02.2018, 22:47 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Удалил строку
[vba]
Код
Range(R & ":13").EntireRow.Hidden = True
[/vba]

Теперь вроде все работает. Сейчас попробую перенести в свой файл. Благодарю Вас =)
 
Ответить
СообщениеУдалил строку
[vba]
Код
Range(R & ":13").EntireRow.Hidden = True
[/vba]

Теперь вроде все работает. Сейчас попробую перенести в свой файл. Благодарю Вас =)

Автор - Anis625
Дата добавления - 13.02.2018 в 22:47
Anis625 Дата: Вторник, 13.02.2018, 22:57 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Отлично работает, супер =) Благодарю за содействие
 
Ответить
СообщениеОтлично работает, супер =) Благодарю за содействие

Автор - Anis625
Дата добавления - 13.02.2018 в 22:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрытие строк по условию (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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