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 Application
DisplayAlerts
đượ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!
Tôi nhớ rằng một, đã cho tôi một thời gian để con số nó ra quá. –
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 –
Câu trả lời hay. ảnh chụp màn hình ftw. –