Здравствуйте! Необходимо исправить код макроса: если в строке E4:AI4 есть "0", то столбец с "0" скрыть, если "1", то столбец показать. Т.е в зависимости от количества дней в месяце меняется количество столбцов. И такое же действие происходит на листе БДМ№1 и 2.
Здравствуйте! Необходимо исправить код макроса: если в строке E4:AI4 есть "0", то столбец с "0" скрыть, если "1", то столбец показать. Т.е в зависимости от количества дней в месяце меняется количество столбцов. И такое же действие происходит на листе БДМ№1 и 2.bumnik
Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = 0 If Target.Address(0, 0) = "A1" Or Target.Address(0, 0) = "S4" Then Sheets(1).Columns("AF:AI").EntireColumn.Hidden = False Sheets(2).Columns("AF:AI").EntireColumn.Hidden = False Sheets(3).Columns("AF:AI").EntireColumn.Hidden = False For i = 32 To 35 If Cells(4, i) = 0 Then Sheets(1).Columns(i).EntireColumn.Hidden = True Sheets(2).Columns(i).EntireColumn.Hidden = True Sheets(3).Columns(i).EntireColumn.Hidden = True End If Next i End If Application.ScreenUpdating = 1 End Sub
[/vba]
такой вариант [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = 0 If Target.Address(0, 0) = "A1" Or Target.Address(0, 0) = "S4" Then Sheets(1).Columns("AF:AI").EntireColumn.Hidden = False Sheets(2).Columns("AF:AI").EntireColumn.Hidden = False Sheets(3).Columns("AF:AI").EntireColumn.Hidden = False For i = 32 To 35 If Cells(4, i) = 0 Then Sheets(1).Columns(i).EntireColumn.Hidden = True Sheets(2).Columns(i).EntireColumn.Hidden = True Sheets(3).Columns(i).EntireColumn.Hidden = True End If Next i End If Application.ScreenUpdating = 1 End Sub