У меня в книге excel 2007 есть уже рабочий макрос, который скрывает все пустые строки, (т.е. те строки, значение в первой ячейке в первом столбце у которых равно 0):
Application.ScreenUpdating = False
For x = 1 To Columns("A:A").SpecialCells(xlLastCell).Row
If Cells(x, 1) = 0 Then Rows(x).Hidden = True
Next x
Application.ScreenUpdating = True
Так вот это процесс занимает определенное время для выполенния и я сделал макрос, который в начале переходит на ячейку, где я написал просто примерное время выполения процесса и сделал пояснения , что нужно подождать (так сказать экран ожидания выполнения процесса).
макрос такой:
Application.Goto Reference:="R158C1"
И мне захотелось сделать чтобы во время выполнения этого процесса показывался индикатор выполнения процесса (т.е. нарисованная линия с постепенным появлением 10 квадратиков - от 10% до 100%) и я сделал несколько таких экранов ожидания с этим индикатором, и в нужных ячейках ввел значения 10, 20, 30 ... 100 (т.е. проценты как-бы выполнения). и когда процесс скрытия строк определяет, что значение допутим равно 10, то переходит на ячейку где у меня экран ожидания с индикатором выполенния на 10% и так далее, вот что у меня получилось, но это не работает правильно :
Application.ScreenUpdating = False
For x = 1 To Columns("A:A").SpecialCells(xlLastCell).Row
If Cells(x, 1) = 0 Then Rows(x).Hidden = True
If Cells(x, 1) = 10 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R160C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 20 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R162C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 30 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R164C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 40 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R166C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 50 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R168C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 60 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R170C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 70 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R172C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 80 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R174C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 90 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R176C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 100 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R178C1"
Application.ScreenUpdating = False
Next x
Application.ScreenUpdating = True
Подскажите что я ввел не так ??? Или может быть есть другой вариант чтобы показывался индикатор выполнения процесса ???
помогите кто знает, спасибо !!!
Application.ScreenUpdating = False
For x = 1 To Columns("A:A").SpecialCells(xlLastCell).Row
If Cells(x, 1) = 0 Then Rows(x).Hidden = True
Next x
Application.ScreenUpdating = True
Так вот это процесс занимает определенное время для выполенния и я сделал макрос, который в начале переходит на ячейку, где я написал просто примерное время выполения процесса и сделал пояснения , что нужно подождать (так сказать экран ожидания выполнения процесса).
макрос такой:
Application.Goto Reference:="R158C1"
И мне захотелось сделать чтобы во время выполнения этого процесса показывался индикатор выполнения процесса (т.е. нарисованная линия с постепенным появлением 10 квадратиков - от 10% до 100%) и я сделал несколько таких экранов ожидания с этим индикатором, и в нужных ячейках ввел значения 10, 20, 30 ... 100 (т.е. проценты как-бы выполнения). и когда процесс скрытия строк определяет, что значение допутим равно 10, то переходит на ячейку где у меня экран ожидания с индикатором выполенния на 10% и так далее, вот что у меня получилось, но это не работает правильно :
Application.ScreenUpdating = False
For x = 1 To Columns("A:A").SpecialCells(xlLastCell).Row
If Cells(x, 1) = 0 Then Rows(x).Hidden = True
If Cells(x, 1) = 10 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R160C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 20 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R162C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 30 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R164C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 40 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R166C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 50 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R168C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 60 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R170C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 70 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R172C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 80 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R174C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 90 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R176C1"
Application.ScreenUpdating = False
If Cells(x, 1) = 100 Then Rows(x).Hidden = True
Application.ScreenUpdating = True
Application.Goto Reference:="R178C1"
Application.ScreenUpdating = False
Next x
Application.ScreenUpdating = True
Подскажите что я ввел не так ??? Или может быть есть другой вариант чтобы показывался индикатор выполнения процесса ???
помогите кто знает, спасибо !!!