Страницы: 1
RSS
Срабатывание макроса при изменении любой ячейки листа
 
Добрый день. У меня есть макрос который скрывает строки в листе. Подскажите пожалуйста как сделать так чтоб он срабатывал при изменении любой ячейки листа, на котором находится макрос?
 
если у вас есть макрос - то пусть себе работает
если макроса нет - его нужно написать
для того, чтобы его написать нужно понимать что должен делать макрос и при каких обстоятельствах, т.е. нужно стандартное описание задачи
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
В модуль этого листа
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Module1.Macr_
End Sub

Macr_ - это тот макрос, который есть
Module1 - это модуль, в котором он лежит
Скажи мне, кудесник, любимец ба’гов...
 
_Boroda_, если у меня такой макрос
Код
Sub Hide()
    Dim cell As Range
    Application.ScreenUpdating = False                              'отключаем обновление экрана для ускорения
    For Each cell In ActiveSheet.UsedRange.Columns(6).Cells         'проходим по всем ячейкам первого столбца
        If cell.Value = "т" Then cell.EntireRow.Hidden = True       'если в ячейке x - скрываем строку
    Next
    For Each cell In ActiveSheet.UsedRange.Columns(8).Cells         'проходим по всем ячейкам первого столбца
        If cell.Value = "т" Then cell.EntireRow.Hidden = True       'если в ячейке x - скрываем строку
    Next
    Application.ScreenUpdating = True
End Sub
то я понимаю чтоб он всегда срабатывал я должен его так написать?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Module1.Hide
End Sub
?
 
достаточно даже так:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Hide
End Sub

и поместить его в модуль соответствующего листа
допустим изменилась А1, макрос отработал
опять изменилась А1 - макрос опять проверит все ячейки в 6 и 8 колонках и скроет и так уже скрытые после прошлой сработки строки
какой смысл в выполнении макроса, в ситуации когда в результате ничего не поменяется на листе?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, Спасибо. Сработало
Страницы: 1
Наверх