Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2017, 14:05   #1
евген_эчс
Новичок
Джуниор
 
Регистрация: 17.04.2017
Сообщений: 2
По умолчанию автоскрытие строк

добрый день, нужна помощь зеленому и не соображающему в этом деле новичку.очень сильно тормозит макрос и реагирует на ввод данных не влияющих на работу макроса.
есть рабочий макрос:
Sub Worksheet_Calculate()
Application.EnableEvents = False
For r = 13 To 112
Rows(r).EntireRow.Hidden = Cells(r, 5) = ""
Next
Application.EnableEvents = True
End Sub
скрывающий пустые строки(13:112)столбца5 на листе3, по такому принципу и на листе 2.
так вот при изменении ячеек листа1 не влияющих на расчеты включается макрос((((что не нужно и тормозит(((
я, конечно не спец, но может можно как-то конкретизировать лист и диапазон для выполнения макроса
авт. скрытие.zip
евген_эчс вне форума Ответить с цитированием
Старый 18.04.2017, 11:09   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Попробуйте так, второй лист:
Код:
Sub Worksheet_Calculate()
    Application.EnableEvents = 0
    On Error Resume Next
    Range("15:114").EntireRow.Hidden = 0
    Range("e15:e114").SpecialCells(-4123, 16).EntireRow.Hidden = -1
    Application.EnableEvents = True
End Sub
В третий:
Код:
Sub Worksheet_Calculate()
    Application.EnableEvents = 0
    On Error Resume Next
    Range("3:113").EntireRow.Hidden = 0
    Range("e3:e112").SpecialCells(-4123, 2).EntireRow.Hidden = -1
    Application.EnableEvents = True
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 20.04.2017, 19:33   #3
евген_эчс
Новичок
Джуниор
 
Регистрация: 17.04.2017
Сообщений: 2
По умолчанию

не сработал(((((( спасибо за интерес
я вот тут посидел и подумал, в нете покапался......и вот то, что я хотел....
все работает как мне надо
кому интересно вот код:

Sub Worksheet_Activate()
Application.EnableEvents = False
Rows("12:112").AutoFilter Field:=5, Criteria1:="<>"
Application.EnableEvents = True
End Sub
как это работает:
для строк 12:112, столбца 5, запускается автофильтр по критерию "пусто (можно подставить 0)". в 5 столбец данные попадают из другого листа через формулы. ГЛАВНОЕ никаких кнопок))))все работает
евген_эчс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для матрицы из 3 столбцов и 7 строк отпечатать номера тех строк, в которых третий элемент больше суммы двух других элементов строк abramov Помощь студентам 2 03.12.2013 10:15
Ввести последовательность строк. Подсчитать количество совпадающих строк. на языке SHELL lj23lj Фриланс 1 30.03.2012 16:41
Как сделать автозаполнение строк, которые зависят от строк другого столбца путвфда_иил Microsoft Office Excel 19 29.08.2010 17:16
Добавление строк в таблицу с вставкой в них текста и чередованием фона строк Centurion2xx6 Microsoft Office Word 9 30.03.2010 11:00
Excel max 256 строк VS user надо 300 строк Exo Microsoft Office Excel 3 10.01.2008 17:14