Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Продолжить выполнение макроса в случае ошибки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Продолжить выполнение макроса в случае ошибки (Макросы/Sub)
Продолжить выполнение макроса в случае ошибки
Nepomny Дата: Среда, 17.07.2019, 07:47 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте! нужна ваша помощь. У меня есть макрос. он иногда выдаёт ошибку на любом участке. и происходит это не из за ошибки кода,а из за переполнения оперативной памяти или если 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 Sub

Автор - Nepomny
Дата добавления - 17.07.2019 в 07:47
_Igor_61 Дата: Среда, 17.07.2019, 08:11 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 337
Репутация: 69 ±
Замечаний: 0% ±

Excel 2007
 
Ответить
СообщениеКросс

Автор - _Igor_61
Дата добавления - 17.07.2019 в 08:11
китин Дата: Среда, 17.07.2019, 08:17 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 5977
Репутация: 928 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
Nepomny, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
СообщениеNepomny, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)

Автор - китин
Дата добавления - 17.07.2019 в 08:17
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Продолжить выполнение макроса в случае ошибки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!