Страницы: 1
RSS
Автоматическое сокрытие/раскртие столбцов по обновляемому значению
 
Добрый день,

Я, наверное как и все находил похожие темы, но предложенные решения конкретно мне не попомгли.

В прикрепленном файле есть два листа.
Secondary лист на котором которые будут вводится разные данные и отображаться на Main.
Нужно, чтобы когда значение ячейки на листе Secondary менялось на "no", столбец на листе Main скрывался автоматически и чтобы когда значение менялось с "no" на любое другое, автоматически раскрывалось.

Надеюсь вы сможете мне помочь.
Заранее спасибо!
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count = 1 Then
        Sheets("Main").Columns(Target.Column).EntireColumn.Hidden = (Target.Value = "no")
    End If
End Sub
В модуль листа Secondary.
 
Спасибо МатросНаЗебре!

Однако, когда  я вставляю код в модуль и пытаюсь запустить, он просто хочет создать новый макрос.
Видимо это что-то из основ до которых я не дополз еще.
 
Нажмите правой кнопкой на ярлычке листа Secondary. Потом исходный текст. В появившееся окно вставьте текст.
Никакой новый макрос создаваться не должен. Макрос будет срабатывать после изменения в ячейке.
 
К сожалению не получается.
Погуглил на предмет невозможности запустить макрос. Как у себя, проблемы не нашел.
 
Вы вводите на листе Secondary в ячейку значение "no", и на листе Main столбцы не скрываются?
 
Все получилось!
Я просто вставил и не запуская пообновлял значения.
Однако я понял, что необдуманно описал задачу. Дело в том, что меняющиеся значения на главной будут браться из разных вкладок и распологаться в четко заданных ячейках.
Адаптировать не получилось.
 
Код
Sub CheckNo()
    With Sheets("Main")
        Dim v As Variant
        For Each v In Array("C2", "F2")
            With .Range(v)
                .EntireColumn.Hidden = (.Value = "no")
            End With
        Next
    End With
End Sub
В обычный модуль. Запускается "по кнопке", в смысле не по событию.
 
Да, все отлично работает! Спасибо!
Страницы: 1
Наверх