2010-08-09 51 views
5

Tôi chưa có nhiều kinh nghiệm với VBA, nhưng đôi khi tôi sử dụng nó tại nơi làm việc. Gần đây, tôi đã gặp phải một vấn đề không nên xảy ra, và cả ông chủ lẫn bản thân tôi cũng không thể hiểu được.Xử lý lỗi VBA không hoạt động trong Excel

Về cơ bản, vấn đề là thuộc tính ApplicationDisplayAlerts được đặt thành True theo mặc định và không thể thay đổi vì một số lý do. Có thể liên quan là khi tôi nhấn một lỗi, nó luôn hiển thị cảnh báo End | Debug | Help và không bao giờ chạm vào xử lý lỗi được áp dụng.

Tôi đang chạy Office 2010 64 bit trên máy tính Windows 7 64 bit. Tuy nhiên, tôi không tin nó là một vấn đề nền tảng, như tôi đã thử nghiệm trên nhiều nền tảng khác nhau, hệ điều hành và hoán vị phần mềm và không có máy khác có lỗi này; chỉ là của tôi.

Tôi đã tạo một số mã mẫu trong trường hợp bất kỳ ai đã gặp phải điều này trước đây hoặc có bất kỳ ý tưởng nào. Điều duy nhất tôi có thể nghĩ đến, là tôi có thứ gì đó được cài đặt trên máy của tôi đang gây ra điều này. Nhưng sau khi một chương trình thanh lọc và nhiều lần khởi động lại, tôi không còn gần gũi hơn với việc giải mã những gì nó có thể xảy ra.

Public Sub TestErrorHandler() 

    ' Suppress alerts 
    Application.DisplayAlerts = False 

    Dim strArray(1) As String 
    strArray(0) = "Hello" 
    strArray(1) = "World" 

    ' Set up error handler 
    On Error GoTo ErrHandler 

    For i = 0 To 3 
     MsgBox strArray(i) 
    Next 

    ' Strip the error handler 
    On Error GoTo 0 

    ' Unsuppress alerts 
    Application.DisplayAlerts = True 

    Exit Sub 

    ErrHandler: 

    MsgBox "Error: " & Err.Description 

    Resume Next 

End Sub 

Lỗi được ghi vào lần liệt kê thứ ba của for-loop (tùy ý). Loại lỗi là không liên quan, những gì có liên quan là tôi nhận được lỗi và không bao giờ nhấn trình xử lý lỗi.

Bất kỳ đề xuất hoặc trợ giúp nào về điều này sẽ được đánh giá cao.

Rất cám ơn!

Trả lời

21

Bấm ALT + F11 từ trong Excel để đến trình chỉnh sửa VBA.

Goto Công cụ trình đơn -> Tùy chọn mục -> Tab chung.

Đặt bẫy lỗi để "Break về lỗi unhandled"

http://i.msdn.microsoft.com/Aa155729.vba200111pa_f_image004(en-us,office.10).jpg

+0

Tôi nhớ rằng một, đã cho tôi một thời gian để con số nó ra quá. –

+0

Cảm ơn bạn rất nhiều! Tôi biết đó là một cái gì đó buồn cười mà tôi đã nhìn. Điều đó làm việc hoàn hảo! Rất cám ơn :-D –

+0

Câu trả lời hay. ảnh chụp màn hình ftw. –

Các vấn đề liên quan