![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.02.2013
Сообщений: 15
|
![]()
Идея такая: Хочется, чтобы макрос скрывал строки в которых в столбце А , в ячейках нулевые значения. Нужно, чтобы он запускался автоматически, без вызова макроса...
просто макрос для скрытия строки 1, если А1=0- работает: Sub Worksheet_Calculate() If Cells(1, 1).Value = 0 Then Rows(1).EntireRow.Hidden = True Else Rows(1).EntireRow.Hidden = False End If End Sub , когда цикл хотел сделать, начинает зацикливаться, почему? И как этого избежать? Sub Worksheet_Calculate() iFirstRow = 1: iLastRow = 150 For iRow = iFirstRow To iLastRow Step 1 iCellOne = Cells(iRow, 1).Value If iCellOne = 0 Then Rows(iRow).EntireRow.Hidden = True Else Rows(iRow).EntireRow.Hidden = False End If Next End Sub |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Потому что скрытие строк вызывает пересчёт, который вызывает скрытие строк...
Отключайте события - application.enableevents=false, в конце включайте.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#3 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
так будет работать:
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 05.02.2013
Сообщений: 15
|
![]()
Аааа, думаю, что не так то))
И если значение в столбце А изменится, то будет пересчет? Мне нужно, чтобы новый нолик, появившийся в столбце А тут же скрылся... А как, там ноль пропадет- автоматически открылся... Без если будет работать? |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 05.02.2013
Сообщений: 15
|
![]()
Только этот код для 300 строк работает очень медленно...
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Отключайте обновление экрана и пересчёт.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 05.02.2013
Сообщений: 15
|
![]()
Так мне это нужно
![]() |
![]() |
![]() |
![]() |
#8 |
Регистрация: 20.05.2014
Сообщений: 8
|
![]()
IgorGO, здравствуйте!
Мне кажется, что то, что мне необходимо - недалеко от темы. Необходимо откорректирвоать код: Код:
Не могу никак внедрить For r = ... To ... |
![]() |
![]() |
![]() |
#9 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
а так:
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 11.06.2014 в 10:10. |
![]() |
![]() |
![]() |
#10 | |
Регистрация: 20.05.2014
Сообщений: 8
|
![]() Цитата:
![]() Т.е. условно говоря - меняется значение в С7 - очищаем D7:E7,J7. Меняется С8 - очищаем D8:E8,J8. И так далее. Спасибо вам за помощь! Долго ищу решение. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
кнопка скрытия и восстановления строк по условию | CooLEO | Microsoft Office Excel | 16 | 06.08.2013 14:10 |
макрос скрытия на защищённые ячейки | kartol | Microsoft Office Excel | 2 | 24.09.2012 09:13 |
Макрос для скрытия листов в Excel | Степан777 | Microsoft Office Excel | 2 | 02.03.2012 22:36 |
макрос для скрытия и показа строк в выбранном диапазоне | шрк | Microsoft Office Excel | 2 | 04.11.2011 11:30 |
Макрос поиска текста на листе | Movled | Microsoft Office Excel | 11 | 29.07.2010 11:59 |