2017-01-29 5 views
0

Я довольно новичок в макросах, но я попытался построить один, довольно сложный на самом деле! После последней части проверки, которую я включил в свой код, excel падает каждый раз, когда я пытаюсь открыть модуль, где я закодировал большую часть моего макроса. Это происходит даже тогда, когда я пытаюсь сохранить книгу, содержащую этот макрос. Я могу открыть другие модули в этой книге и в любой другой рабочей книге excel. Проблема, похоже, сохраняется только с одним конкретным модулем после того, как я добавил условие if в начале подпрограммы. В основном, ниже того, что я пытался, что я считаю, делает первенствуешь врезаться каждый раз, когда я пытаюсь сделать что-нибудь с этим макросом:Excel падает при открытии модуля в vba

Sub Process() 
Application.ScreenUpdating = False 
Application.DisplayAlerts = False 
If ThisWorkbook.Sheets("Main").Range("XFD2").Value <> 2 Then 
    MsgBox "Create reports first!" 
    Else 
    'Lot of other stuff 
End If 
End Sub 

Каждый раз, когда я пытаюсь открыть этот модуль, окно говорит Microsoft Excel перестал работать, а затем я получить еще один поп, который оставляет меня без другого выбора, кроме как закрыть программу. Я приложил к нему снимок экрана.

Excel Message

Я искал в Интернете и должен знать такие проблемы возникают при установке программы, которая будет врезаться с программой Microsoft, но я не устанавливал ничего нового, а также проверил надстроек, чтобы преуспеть в безопасном режиме , Я не вижу дополнительных надстроек.

Я бы удалил это последнее условие, но excel не позволяет мне открыть подпрограмму. Я потратил много времени на создание этого макроса, любая помощь была бы высоко оценена!

+0

Согласен с @KyloRen, это не должно быть причиной Excel аварии. Попробуйте выполнить свой код с помощью F8, чтобы точно определить, что такое ошибка. Я могу только предположить, что это где-то в «Много других вещей» –

+0

@ KyloRen/@ Сэм: Спасибо за ваши комментарии. Мне как-то удалось открыть и восстановить код. Я просто вставлял код в новую книгу, и теперь он отлично работает. – Aqua

ответ

0

Ваш Macro не должен вызывать повреждение Excel, либо способ, которым вы сохраняете файл, вызывает ошибку, либо у вас возникли проблемы с его установкой.

И убедитесь, что вы установили те сбросить ScreenUpdating и DisplayAlerts истина,

Sub Process() 
Application.ScreenUpdating = False 
Application.DisplayAlerts = False 
If ThisWorkbook.Sheets("Main").Range("XFD2").Value <> 2 Then 
    MsgBox "Create reports first!" 
    Else 
    'Lot of other stuff 
End If 
Application.ScreenUpdating = True 
Application.DisplayAlerts = True 
End Sub 
+0

@Aqua, ваше единственное средство - переустановить excel, если вы не можете найти проблему. А при выходе из макроса вам нужно будет повторно активировать их, иначе они будут отключены. – KyloRen