Есть табель учета рабочего времени. Как сделать в нем так чтобы если в месяце 30 дней, то пустой столбце для 31 числа скрывался. А если 31 день в месяце, то он назад отображался Мне надо так как показано на рисунке, 1 когда в месяце 31 день, 2 в месяце , например 28 дней, и у нас остаются пустые столбцы, что не очень красиво смотрится. Как сделать как показано 3, т. е. пустые столбцы скрывались или удалялись, если 28 дней или 30, а потом появлялись если 31 день.
Есть табель учета рабочего времени. Как сделать в нем так чтобы если в месяце 30 дней, то пустой столбце для 31 числа скрывался. А если 31 день в месяце, то он назад отображался Мне надо так как показано на рисунке, 1 когда в месяце 31 день, 2 в месяце , например 28 дней, и у нас остаются пустые столбцы, что не очень красиво смотрится. Как сделать как показано 3, т. е. пустые столбцы скрывались или удалялись, если 28 дней или 30, а потом появлялись если 31 день.ivstepa
ivstepa, У вас там очень много нужно подправить, для упрощения. например номер месяца
Код
=MONTH("1 " & R4)
с числами тоже намудрили, н оне суть. В таком виде как сейчас не удается по простому отловить событие смены года, Сам макрос не сложный, например так.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$2" Or Target.Address = "$R$4" Then For Each MCell In Range("AG6:AI6") If MCell <> "" Then Columns(MCell.Column).EntireColumn.Hidden = False Else Columns(MCell.Column).EntireColumn.Hidden = True End If Next End If End Sub
[/vba]
ivstepa, У вас там очень много нужно подправить, для упрощения. например номер месяца
Код
=MONTH("1 " & R4)
с числами тоже намудрили, н оне суть. В таком виде как сейчас не удается по простому отловить событие смены года, Сам макрос не сложный, например так.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$2" Or Target.Address = "$R$4" Then For Each MCell In Range("AG6:AI6") If MCell <> "" Then Columns(MCell.Column).EntireColumn.Hidden = False Else Columns(MCell.Column).EntireColumn.Hidden = True End If Next End If End Sub