Добрый день. Появилась проблема. Зависает Excel при повторе макроса. Значения не меняются, ничего не меняется в файлах, макрос просто повторяет одно и то же, но на третьем разе зависает полностью Excel. ctrl+pause не работает, окна не отвечают. Выйти можно только через диспетчер задач или нажав на крестик в углу окна Excel. Файла примера не прикладываю, макрос смысла нет выкладывать, ибо там более 5к строк. Макрос работает с UserForm (3 шт.), 2 файла. Есть место в макросе, которое я недавно менял (не знаю, зависал ли Excel до того, как я поменял). При выборе варианта в юзерформ он открывает файл из сетевого диска. Думаю, что проблема в этом. Если файл уже открыт, то появляется окно "Файл уже открыт. Повторное открытие приведет к потере выполненных изменений". Если нажать в этом окне на крестик, то макрос корректно закончит работу, но на третий раз зависает Excel полностью.
Код
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveWorkbook.ActiveSheet.DisplayPageBreaks = False
Dim nagruzName As String
nagruzName = Worksheets("Лист1").Cells(1, 5)
otvet = MsgBox("Имя книги: " & nagruzName & " ?", vbYesNo)
Dim fullname As String
Application.ScreenUpdating = False
fullname = "W:\" & nagruzName & ".xlsb"
Select Case otvet
Case vbYes
On Error Resume Next
Workbooks.Open fullname
Case vbNo
nagruzName = InputBox("Введите имя книги")
If nagruzName = "" Then
Exit Sub
End If
On Error Resume Next
fullname = "W:\" & nagruzName & ".xlsb"
Workbooks.Open fullname
Workbooks("Книга1.xlsm").Worksheets("Лист1").Cells(1, 5) = nagruzName
End Select
Sanja, на третьем запуске всего макроса. Юрий М, я даже не знаю как из этих двух рабочих файлов сделать мини пример. Сюда написал с надеждой, что у кого-то уже была подобная проблема с зависанием.
Sanja, макрос зависает при 3-м повторе после момента с открытием второго файла. На всплывающем окне о "файл уже открыт..." я нажимаю на крестик (так же как и в первые 2 раза), после чего Excel зависает. Часть кода с открытием второго файла я добавил в первое сообщение. Ругается на строку Workbooks.Open fullname но ведь в первые 2 раза он срабатывает правильно, даже при уже открытом файле.
Скажите, хотя бы, на какой строке происходит неприятность? Попробуйте убрать игнор ошибок. И попробуйте добавить application.DisplayAlerts=false. Хотя, вряд ли поможет...
Юрий М, про ошибку в строке написал выше. application.DisplayAlerts=false ставил, это не помогает. Sanja, спасибо за совет. Попробую функцию дописать на проверку.