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ố.

Err Object in Excel VBA

  1. Đặ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:

Err Object Result

Err Object Result

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.

  1. 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ả:

Friendly Message

Friendly Message