Страницы: 1
RSS
Макрос что бы скрыть столбцов
 
Здравствуйте Всем!!

Пожалуйста, помогите с макросом. Написал макрос для скрытья столбцов, но тот не работает
Код
Private Sub Worksheet_Calculate()
    If [B1] = 0 Then
        Columns("F:P").EntireColumn.Hidden = True
            Else
                Columns("F:P").EntireColumn.Hidden = False
    If [B2] = 0 Then
        Columns("G:P").EntireColumn.Hidden = True
            Else
                Columns("G:P").EntireColumn.Hidden = False
            End If
        End If
End Sub

 
А так?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
 
Спасибо Вам за помощь.
 
Еще такой вапрос, можно ли прогнать этот макрос по определенным листам автоматический, а не по одному?

У меня много листов и вывел макрос на кнопку, а тот тока работает на том листе где я работаю.

Код
Sub Refresh()
    If [B2] = 0 Then
        Columns("F:P").EntireColumn.Hidden = True
            Else
                Columns("F:P").EntireColumn.Hidden = False
    If [B3] = 0 Then
        Columns("G:P").EntireColumn.Hidden = True
            Else
                Columns("G:P").EntireColumn.Hidden = False
            End If
        End If
End Sub
Изменено: Александр Ли - 26.04.2024 15:17:48
 
Попробовал через
Private Sub Worksheet_Change(ByVal Target As Range)  тоже автоматам не работает, то ист условия меняется путем формулы, а  что бы сработал макрос, надо зайти в ячейку и выйти патом начинает  работать и то только на листе где я работаю.

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If [B1] = 0 Then
        Columns("F:P").EntireColumn.Hidden = True
            Else
                Columns("F:P").EntireColumn.Hidden = False
    If [B2] = 0 Then
        Columns("G:P").EntireColumn.Hidden = True
            Else
                Columns("G:P").EntireColumn.Hidden = False
            End If
        End If
End Sub
 
Код
Sub myRefresh()
    Dim sh As Worksheet
    For Each sh In ActiveWorkbook.Worksheets
        RefreshSheet sh
    Next
End Sub

Private Sub RefreshSheet(sh)
    If sh.Range("B2") = 0 Then
        sh.Columns("F:P").EntireColumn.Hidden = True
            Else
                sh.Columns("F:P").EntireColumn.Hidden = False
    If sh.Range("B3") = 0 Then
        sh.Columns("G:P").EntireColumn.Hidden = True
            Else
                sh.Columns("G:P").EntireColumn.Hidden = False
            End If
        End If
End Sub
 
Спасибо Вам огромное
Страницы: 1
Наверх