На что ругается зелёный?...
В коде листа –
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range)
Me.Unprotect Password:="xxxx"
If Intersect(Target, Range("H10,R6")) Is Nothing Then Exit Sub
Dim shnm
For Each shnm In Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
Worksheets(shnm).Columns(9).Hidden = [H10] = 0
If [R6] = "З/п рабочих" Then
Worksheets(shnm).Range("G:I").EntireColumn.Hidden = True
Worksheets(shnm).Range("J:K").EntireColumn.Hidden = False
End If
Next
Me.Protect Password:="xxxx"
End Sub
|
Run-time error '1004':
Нельзя установить свойство Hidden класса Range
Жёлтым строчка
Worksheets(shnm).Columns(9).Hidden = [H10] = 0
Смысл макроса:
в листах книги с 2-го по 15-й
если ячейка H10 на листе, где макрос > 0, то 9-й столбец на листах с 2-го по 15-й становится видимым,
а также,
если ячейка H10 на листе, где макрос = "З/п рабочих", то
столбцы G:I на листах с 2-го по 15-й становятся скрытыми,
а столбцы J:K – открытыми.
Если убрать второе условие, и оставить только
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range)
Me.Unprotect Password:="xxxx"
If Intersect(Target, Range("H10,R6")) Is Nothing Then Exit Sub
Dim shnm
For Each shnm In Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
Worksheets(shnm).Columns(9).Hidden = [H10] = 0
Next
Me.Protect Password:="xxxx"
End Sub
|
то всё равно ругается...
