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

Вход

Регистрация

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

 

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

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

Excel 2016
Добрый день!
Опять хочу просить помощи у участников этого форума.
Есть макрос
[vba]
Код

Sub Procedure_3()

    Dim rng1 As Excel.Range
    Dim i As Long
    
    Set rng1 = Worksheets("Форма").Range("B2:B25")
    
    For i = 1 To rng1.Rows.Count Step 1
    
        If CStr(rng1.Cells(i, 1).Value) = "0" Then
          
            rng1.Rows(i).EntireRow.Hidden = True
       
        Else
       
            rng1.Rows(i).EntireRow.Hidden = False
        End If
    Next i
End Sub
[/vba]

Строки скрываются, все работает. Только все это висит на кнопке и очень не удобно, так как когда обрабатываешь большой объем забываешь нажать на кнопку иногда.
Хотелось бы чтобы макрос срабатывал при изменении значения E1 на листе "Форма". Но проблема в следующем в столбце B на листе "Форма" значения получаются посредством формулы, а именно "ВПР". И не могу найти решения.
Заранее спасибо!
К сообщению приложен файл: 3125698.xlsm (48.2 Kb)
 
Ответить
СообщениеДобрый день!
Опять хочу просить помощи у участников этого форума.
Есть макрос
[vba]
Код

Sub Procedure_3()

    Dim rng1 As Excel.Range
    Dim i As Long
    
    Set rng1 = Worksheets("Форма").Range("B2:B25")
    
    For i = 1 To rng1.Rows.Count Step 1
    
        If CStr(rng1.Cells(i, 1).Value) = "0" Then
          
            rng1.Rows(i).EntireRow.Hidden = True
       
        Else
       
            rng1.Rows(i).EntireRow.Hidden = False
        End If
    Next i
End Sub
[/vba]

Строки скрываются, все работает. Только все это висит на кнопке и очень не удобно, так как когда обрабатываешь большой объем забываешь нажать на кнопку иногда.
Хотелось бы чтобы макрос срабатывал при изменении значения E1 на листе "Форма". Но проблема в следующем в столбце B на листе "Форма" значения получаются посредством формулы, а именно "ВПР". И не могу найти решения.
Заранее спасибо!

Автор - Boris_krd
Дата добавления - 23.03.2016 в 12:46
_Boroda_ Дата: Среда, 23.03.2016, 12:51 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Добавьте в модуль листа "Форма" запуск макроса Procedure_3 по событию изменения ячейки Е1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "E1" Then Procedure_3
End Sub
[/vba]
Кнопку можно удалить, а можно и оставить - она тоже рабочая.
К сообщению приложен файл: 3125698_1.xlsm (49.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДобавьте в модуль листа "Форма" запуск макроса Procedure_3 по событию изменения ячейки Е1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "E1" Then Procedure_3
End Sub
[/vba]
Кнопку можно удалить, а можно и оставить - она тоже рабочая.

Автор - _Boroda_
Дата добавления - 23.03.2016 в 12:51
Boris_krd Дата: Среда, 23.03.2016, 12:55 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Спасибо большое, все заработало!
Что бы я делал без этого форума
 
Ответить
СообщениеСпасибо большое, все заработало!
Что бы я делал без этого форума

Автор - Boris_krd
Дата добавления - 23.03.2016 в 12:55
al-Ex Дата: Среда, 23.03.2016, 13:00 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
 
Ответить
Сообщение
Что бы я делал без этого форума
Читали-бы книжку и изучали приведенные в ней примеры.

Автор - al-Ex
Дата добавления - 23.03.2016 в 13:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрытие строк по условию автоматически (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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