Вопрос
Как мне сделать так, чтобы при выполнении определенного условия (напр. B4=0) строка (напр.4) с этой ячейкой скрывалась бы автоматически?
Ответ
Sub Макрос7()
'
'
Sheets("Лист1").Select 'выбор листа
Range("b4").Select 'выбор проверяемой ячейки
If Range("b4") = 0 Then 'сравнение с нулем
Rows("4:4").Select 'выбор строки
Selection.EntireRow.Hidden = True 'скрыть строку
End If
End Sub
и дальше выполни Запуск — Запуск подпрограммы
Анатолий Киюк
Const glCol As Long = 2 \' столбец B
Const gbAllHide As Boolean = False
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Rows.Count = 1 And .Columns.Count = 1
And .Column = glCol And .FormulaR1C1 = \"0\"
Then
If gbAllHide Then
Application.ScreenUpdating = False
With ActiveSheet.UsedRange.Rows
Dim lR As Long
For lR = .Row To .Row + .Count — 1
If Cells(lR,
glCol).FormulaR1C1 = \"0\" And Not Rows(lR).Hidden
Then
Rows(lR).Hidden = True
End If
Next lR
End With
Application.ScreenUpdating = True
Else
.Rows.Hidden = True
End If
End If
End With
End Sub
Теперь при вводе 0 в любую строку столбца 2 эта строка (а при включенном режиме gbAllHide — все строки, содержащие 0) будет спрятана автоматически.
Priam
Copyright 2000-2004 Сообщество Чайников
Контактная информация