Đối tượng lỗi VBA trong Excel
tuy nhiên, chúng tôi thực sự khuyên bạn nên đọc ví dụ này trước. Khi xảy ra lỗi trong Excel VBA, các thuộc tính của đối tượng Err được điền đầy đủ thông tin.
Tình huống:
Chương trình dưới đây tính căn bậc hai của các số.
-
Đặt nút lệnh
trên trang tính của bạn và thêm các dòng mã sau:
Dim rng As Range, cell As Range Set rng = Selection For Each cell In rng On Error GoTo InvalidValue: cell.Value = Sqr(cell.Value) Next cell Exit Sub InvalidValue: MsgBox Err.Number & " " & Err.Description & " at cell " & cell.Address Resume Next
Kết quả khi bạn chọn Range (“B2: B6”) và nhấp vào nút lệnh trên sheet:
Giải thích: khi xảy ra lỗi, thuộc tính number của đối tượng Err được lấp đầy bằng một số lỗi duy nhất của lỗi hiện tại và thuộc tính Description được lấp đầy bằng mô tả lỗi của lỗi hiện tại.
-
Những mô tả này có thể không hữu ích lắm đối với người dùng chương trình của bạn. Bạn có thể làm cho các thông báo lỗi thân thiện hơn với người dùng bằng cách sửa đổi phần cuối của macro như sau:
InvalidValue: Select Case Err.Number Case Is = 5 MsgBox "Can't calculate square root of negative number at cell " & cell.Address Case Is = 13 MsgBox "Can't calculate square root of text at cell " & cell.Address End Select Resume Next
Kết quả: