CVErr(ErrNumber)
Hằng số | Giá trị | Giá trị trả về (là lỗi) |
---|---|---|
xlErrDiv0 | 2007 | #DIV/0! |
XlErrNA | 2042 | #N/A |
xlErrName | 2029 | #NAME? |
XlErrNull | 2000 | #NULL! |
XlErrNum | 2036 | #NUM! |
XlErrRef | 2023 | #REF! |
XlErrValue | 2015 | #VALUE! |
Dim v As Variant
v = CVErr(1)
Debug.Print(v) ' Err 1
v = CVErr(65536) ' Phát sinh lỗi của VBA
Cells(1, 1).Value = CVErr(xlErrNA) ' Ghi vào cells A1 là #N/A
'Khi cells A1 là #N/A thì tiến hành xử lý
If Cells(1, 1).Value = CVErr(xlErrNA) Then
Debug.Print("#N/A")
End If
Sub ThucThi()
Dim v As Variant
v = Tips(10)
If IsError(v) = False Then
Debug.Print(v) ' Bình thường
Else
Debug.Print(v) ' Err 60000
End If
v = Tips(0)
If IsError(v) = False Then
Debug.Print(v) ' Bình thường
Else
Debug.Print(v) ' Err 60000
End If
End Sub
Function Tips(ByVal i As Integer) As Variant
If i = 10 Then
Tips = "Binh thuong" 'Bình thường'
Else
Tips = CVErr(60000) ' System error
End If
End Function
VIP
Error()
Error(ErrNumber)
Dim s As String
s = Error(6)
Debug.Print(s) ' overflow
s = Error(13)
Debug.Print(s) ' Type mismatch
Sub ThucThi()
On Error GoTo Catch
Dim s As String
s = Error ' Loi cuoi cung phat sinh
Debug.Print(s) ' ""
' Tao ra loi
Dim i As Integer
i = ""
Error 13 ' Cưỡng chế tạo ra lỗi Type mismatch
Catch:
s = Error ' Lấy lỗi cuối cùng phát sinh
Debug.Print(s) ' Type mismatch
s = Err.Description
Debug.Print(s) ' Type mismatch
End Sub