Доброго времени суток! Ребята, окажите, пожалуйста, помощь! Во вложенном файле имеется кнопочка "С К Р Ы Т Ь П У С Т Ы Е Я Ч Е Й К И". При нажатии на эту кнопочку срабатывает макрос, который скрывает пустые строки в диапазоне A10:A109 и столбец B в диапазоне [B10:B109], если в списке нет данных (элемент управления "список" для выбора формы в текущем файле) . В представленной таблице работа макроса не занимает много времени, однако в настоящей таблице, там, где помимо столбцов A, B, и С имеются формулы в других столбцах, требует значительного времени. Каким образом можно отобразить процесс работы макроса? Как добавить к макросу простейший Progressbar? В инете представлено достаточно много вариаций создания Progressbar, но как его прописать? В идеале хотелось, чтобы Progressbar выглядел аналогично с тем, который появляется при нажатии на кнопку PDF. Особо в макросах не волоку. Спасибо всем отозвавшимся!
Доброго времени суток! Ребята, окажите, пожалуйста, помощь! Во вложенном файле имеется кнопочка "С К Р Ы Т Ь П У С Т Ы Е Я Ч Е Й К И". При нажатии на эту кнопочку срабатывает макрос, который скрывает пустые строки в диапазоне A10:A109 и столбец B в диапазоне [B10:B109], если в списке нет данных (элемент управления "список" для выбора формы в текущем файле) . В представленной таблице работа макроса не занимает много времени, однако в настоящей таблице, там, где помимо столбцов A, B, и С имеются формулы в других столбцах, требует значительного времени. Каким образом можно отобразить процесс работы макроса? Как добавить к макросу простейший Progressbar? В инете представлено достаточно много вариаций создания Progressbar, но как его прописать? В идеале хотелось, чтобы Progressbar выглядел аналогично с тем, который появляется при нажатии на кнопку PDF. Особо в макросах не волоку. Спасибо всем отозвавшимся!Starbirst
[/vba] работать будет, наверняка, быстрее. Может и прогрес-бар не понадобится...
PS: Объявлять переменную в цикле тоже как-то не принято. А внутренний цикл по одному столбц B никакого эффекта не даёт. И что остаётся? [vba]
Код
Public Sub Скрыть() Dim i As Integer Dim cc Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 10 To 109 If Cells(i, 1).Value = "" Then Rows(i).RowHeight = 0 'For Each cc In [B10:B109].Columns ' cc.EntireColumn.Hidden = cc.Text = "" 'Next Next Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
[/vba]
Честно говоря, код выглядит для меня довольно бессмысленным, но если вынести за границы основного цикла
[/vba] работать будет, наверняка, быстрее. Может и прогрес-бар не понадобится...
PS: Объявлять переменную в цикле тоже как-то не принято. А внутренний цикл по одному столбц B никакого эффекта не даёт. И что остаётся? [vba]
Код
Public Sub Скрыть() Dim i As Integer Dim cc Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 10 To 109 If Cells(i, 1).Value = "" Then Rows(i).RowHeight = 0 'For Each cc In [B10:B109].Columns ' cc.EntireColumn.Hidden = cc.Text = "" 'Next Next Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
ГЕНИАЛЬНО! Моих познаний Excel, не говоря уже про макросы, недостаточно, потому понять, что такое цикл, как его задать, мне достаточно сложно понять. Я брал разные макросы, пытался что-то изобрести - так и получился макрос, который я применял по сей день. Спасибо большое!
ГЕНИАЛЬНО! Моих познаний Excel, не говоря уже про макросы, недостаточно, потому понять, что такое цикл, как его задать, мне достаточно сложно понять. Я брал разные макросы, пытался что-то изобрести - так и получился макрос, который я применял по сей день. Спасибо большое! Starbirst
Сообщение отредактировал Starbirst - Четверг, 13.11.2014, 15:13