Bị lỗi khi gặp giá trị: #N/A thì cách xử lý như thế nào?

Liên hệ QC

phamvandunghp84

Thành viên thường trực
Tham gia
5/3/20
Bài viết
241
Được thích
12
khi chạy gặp cells kia đang có giá trị #N/A thì VBA dừng chạy và báo lỗi. Cho mình hỏi làm thế nào để name vẫn hiểu được giá trị là #N/A , mà không báo lỗi nữa vẫn tiếp tục chạy được nhỉ?

sub test()
Dim i As Integer
Dim name As String
...
name = Cells(2, j + 2).Value
MsgBox (name)
If name = "#N/A" Then
For k = 4 To LastRow
name = Cells(k, j + 2).Value
If name <> "#N/A" Then
Exit For
End If
Next k
End Sub
 
Biến name khai báo kiểu String, tốt nhất là chuyển về đúng kiểu dữ liệu đã khai báo.
Mã:
name = CStr(Cells(2, j + 2).Value)
If name = "Error 2042" Then
 
Upvote 0
Biến name khai báo kiểu String, tốt nhất là chuyển về đúng kiểu dữ liệu đã khai báo.
Mã:
name = CStr(Cells(2, j + 2).Value)
If name = "Error 2042" Then
Ý người ta là phát hiện lỗi. Mà phải là lỗi #N/A chứ các lỗi khác không quan tâm.
Nếu ô Cells(2, j + 2) chứa chuỗi rất bình thường "Error 2042" thì code lại cho là ô đó bị lỗi.
 
Upvote 0
Ý người ta là phát hiện lỗi. Mà phải là lỗi #N/A chứ các lỗi khác không quan tâm.
Nếu ô Cells(2, j + 2) chứa chuỗi rất bình thường "Error 2042" thì code lại cho là ô đó bị lỗi.
Em trả lời bài 1. Còn nếu muốn xử hết thì khai báo biến kiểu Variant rồi muốn làm gì thì làm.
 
Upvote 0
Upvote 0
bạn ơi cho mình hỏi là làm như nào để biết mã lỗi là Error 2042 vậy bạn? ( mình tự học mò lên không hiểu hình ảnh trên kia là phải làm như nào để ra kết quả Error 2042

?[A1].Value mình nhập cái này vào đâu bạn?
trong vba, ctrl+g, rùi gõ vào trong cái cửa sổ mới hiện ra.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom