powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос завис на 10-15 мин
5 сообщений из 5, страница 1 из 1
Макрос завис на 10-15 мин
    #37896206
Bonifaciy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, профессионалы. Прошу помощи в отчете. Имеем огромный макрос. Все в идеале работает, вот только в данном месте макрос зависает на 10-15мин. Можно ли изменить какого-то оператора, возможно Вы посоветуете как ускорить работу макроса в этом периоде. Всем спасибо.
Sub
..................................
Windows("PA_command_recep_par_CM_New.xls").Activate
Range("A2:K1200").Select
Selection.Copy
Windows("PA_command_recep_par_CM_New.xls").Activate
Range("A2:K1200").Select
Selection.Copy
Windows("Otchet1.xls").Activate
Range("I4:I800").Value = Range("I4:I800").Value
Range("A3").Select
ActiveSheet.Paste
Вот знесь и начинается.....
Selection.AutoFilter Field:=6, Criteria1:="null"
Selection.AutoFilter Field:=10, Criteria1:="#n/a"
Range("A3:K1500").Select
Selection.ClearContents
Selection.AutoFilter Field:=6
Selection.AutoFilter Field:=10
Range("I4:I1000").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-54
Range("I4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
With Sheets("Report").UsedRange
.Parent.AutoFilterMode = 0
.AutoFilter 8, "null"
'Filtr po n/a
.AutoFilter 10, "#n/a"
.Offset(1).SpecialCells(12).EntireRow.Delete
.AutoFilter 10
.Columns(7).Offset(1).SpecialCells(12).Copy Sheets("Failure to complete order").[a1]
.Columns(3).Offset(1).SpecialCells(12).Copy Sheets("Failure to complete order").[b1]
.Columns(4).Offset(1).SpecialCells(12).Copy Sheets("Failure to complete order").[d1]
.Columns(2).Offset(1).SpecialCells(12).Copy Sheets("Failure to complete order").[e1]
.Columns(5).Offset(1).SpecialCells(12).Copy Sheets("Failure to complete order").[f1]
.Parent.AutoFilterMode = 0
End With
.............
End Sub
...
Рейтинг: 0 / 0
Макрос завис на 10-15 мин
    #37896527
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Макрос весьма корявый, но тормозить настолько не должен. Возможно, при изменении листов происходит пересчет большого кол-ва формул и происходит обработка событий.
Вот так можно отключить эти вещи на время выполнения кода:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
'код
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
...
Рейтинг: 0 / 0
Макрос завис на 10-15 мин
    #37896960
Bonifaciy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский,
И где етот код вставлять?
...
Рейтинг: 0 / 0
Макрос завис на 10-15 мин
    #37896968
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bonifaciy,
в это место
'код
ставьте свою поделку
...
Рейтинг: 0 / 0
Макрос завис на 10-15 мин
    #37897045
Bonifaciy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Увы. не помогло :(
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос завис на 10-15 мин
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]