Здравствуйте! нужна ваша помощь. У меня есть макрос. он иногда выдаёт ошибку на любом участке. и происходит это не из за ошибки кода,а из за переполнения оперативной памяти или если 2-3 копии excel работают, с таким же макросом, то тоже может быть сбой и выскакивает то окно где написано END и DEBUG. Мне нужно , что бы макрос в случае вот таких вот ситуаций продолжал работать методом повторного выполнения операции над которой и случилась ошибка(чтобы заново её выполнил). Я немного поискал в интернете и выяснил, что за это отвечает оператор Resume 0. Есть оператор Resume Next, который игнорирует ошибку и макрос продолжает работать со следующей операции. Но мне это не подойдёт. мне нужно именно, чтобы макрос заново с операции на которой случилась ошибка продолжил работать(т.е. выполнил её снова) Только вот куда этот Resume 0 вставлять? Хотелось бы чтобы поставить этот Resume 0 в начале всего кода макроса, и не париться. Но как это сделать?
макрос у меня очень простой. сохранение листа в файл: Sub Сохранение() Application.ScreenUpdating = False Dim Fname As String Sheets(Array("2")).Copy With ActiveWorkbook ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value Application.DisplayAlerts = False .SaveAs Filename:=ThisWorkbook.Path & "" & "1.xls", FileFormat:=56 Application.ScreenUpdating = True 'Application.DisplayAlerts = True End With ActiveWorkbook.Close End Sub
Здравствуйте! нужна ваша помощь. У меня есть макрос. он иногда выдаёт ошибку на любом участке. и происходит это не из за ошибки кода,а из за переполнения оперативной памяти или если 2-3 копии excel работают, с таким же макросом, то тоже может быть сбой и выскакивает то окно где написано END и DEBUG. Мне нужно , что бы макрос в случае вот таких вот ситуаций продолжал работать методом повторного выполнения операции над которой и случилась ошибка(чтобы заново её выполнил). Я немного поискал в интернете и выяснил, что за это отвечает оператор Resume 0. Есть оператор Resume Next, который игнорирует ошибку и макрос продолжает работать со следующей операции. Но мне это не подойдёт. мне нужно именно, чтобы макрос заново с операции на которой случилась ошибка продолжил работать(т.е. выполнил её снова) Только вот куда этот Resume 0 вставлять? Хотелось бы чтобы поставить этот Resume 0 в начале всего кода макроса, и не париться. Но как это сделать?
макрос у меня очень простой. сохранение листа в файл: Sub Сохранение() Application.ScreenUpdating = False Dim Fname As String Sheets(Array("2")).Copy With ActiveWorkbook ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value Application.DisplayAlerts = False .SaveAs Filename:=ThisWorkbook.Path & "" & "1.xls", FileFormat:=56 Application.ScreenUpdating = True 'Application.DisplayAlerts = True End With ActiveWorkbook.Close End SubNepomny