Цитата |
---|
Юрий М написал: Название (имя) макроса всегда будет таким, каким Вы его назвали. |
Возможно не так выразился.
Вот пример: макрос скрывает строки со значением 0.
Код |
---|
Private Sub tgbZero_Click()
Application.ScreenUpdating = False ' отключаем обновление экрана во время выполнения макроса
i = 2 'номер строки, с которой начнется обработка
While i <= UsedRange.Rows.Count ' проверяем каждую строчку пока не встретимся с пустым значением т.е. концом списка
If tgbZero Then ' при нажатом положении кнопка tgbZero принимает значениее True
Sheets("Складские запасы").tgbZero.Caption = "Отобразить все строки" 'меняем надпись на кнопке, чтобы было понятно, что произойдет в следующий раз
If Cells(i, 3).Value = 0 And Not IsEmpty(Cells(i, 3)) Then ' прячем или показываем строки с нулевым значением
Rows(i).Hidden = True ' зависимости от значения в ячейке столбца "Кол"
Else ' и в зависимости от положения кнопки
Rows(i).Hidden = False
End If
Else
Sheets("Складские запасы").tgbZero.Caption = "Скрыть нулевые строки"
Rows(i).Hidden = False ' режим отображения всех строк в том числе и с нулем
End If
i = i + 1
Wend
Application.ScreenUpdating = False ' включаем обновление экрана во время выполнения макроса
End Sub
|
Когда все строки показаны - пишется "скрыть нулевые строки", когда скрываю их - "Отобразить все строки".
Нужно тоже самое, но в код выше. Пробовал сам сделать, но в ошибку вылетает.