Bẫy lỗi trong VBA (1 người xem)

  • Thread starter Thread starter alohn
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

alohn

Thành viên chính thức
Tham gia
21/12/07
Bài viết
59
Được thích
13
Mình có vấn đề sau nhờ các bạn giúp<br>Khi sử dụng Vlookup trong Excel dùng hàm If(isserror ....) để bẫy lỗi

Nếu dùng worksheetfuntion.vlookup trong VBA khi hiện thị lỗi #N/A trên file excel đối với các giá trị không tìm kiếm dc, xin các cao thủ chỉ giáo để bẫy lỗi này trong VBA
 
Mình có vấn đề sau nhờ các bạn giúp<br>Khi sử dụng Vlookup trong Excel dùng hàm If(isserror ....) để bẫy lỗi

Nếu dùng worksheetfuntion.vlookup trong VBA khi hiện thị lỗi #N/A trên file excel đối với các giá trị không tìm kiếm dc, xin các cao thủ chỉ giáo để bẫy lỗi này trong VBA

Sao bạn không đưa file lên để mọi người xem giúp ?. Theo như bạn bạn nói tôi thì nghĩ là bạn đang dùng VBA để gán công thức cho Range vì vậy bạn phải thực hiện bẫy lỗi cho công thức y như làm thủ công vậy.

Xin góp ý thêm: Nếu đã dùng VBA thì nên sử dụng phương thức Find, tội gì phải dùng Vlookup cho khổ.
 
Upvote 0
File dinh kem, mong cac bac giup do
 

File đính kèm

Upvote 0
Sub TimKiem()
With Sheet1
.Range("F4:F8") = .Application.WorksheetFunction.VLookup(.Range("E4:E8"), .Range("Bang"), 2, 0)
On Error Resume Next
ActiveCell = 0

End With
End Sub
 
Upvote 0
Sub TimKiem()
With Sheet1
.Range("F4:F8") = .Application.WorksheetFunction.VLookup(.Range("E4: E8"), .Range("Bang"), 2, 0)
On Error Resume Next
ActiveCell = 0

End With
End Sub

Thank bạn, minh test thu van khong duoc
 
Upvote 0
Bạn test lại đi, vì mình làm trên file dữ liệu của bạn và test lại rùi, thấy ok mới trả lời cho bạn.ok
 
Upvote 0
Sub TimKiem()
With Sheet1
.Range("F4:F8") = .Application.WorksheetFunction.VLookup(.Range("E4:E8"), .Range("Bang"), 2, 0)
On Error Resume Next
Range("F4:F8") = 0

End With
End Sub
 
Upvote 0
Bạn thay câu lệnh này
ActiveCell = 0
bằng câu lệnh này
Range("F4:F8") = 0
Sorry vì mình nhầm
 
Upvote 0
Ban co the gui lại file dinh kem giup minh duoc khong, minh lam theo ban huong dan thi tat ca cac gia tri F4:F8 deu bang 0 :(
 
Upvote 0
Bạn thử code này xem, sory nhé vì mình cũng đang chập chững học VBA, mong được học hỏi và trao đổi thêm hiii
Sub TimKiem()
With Sheet1
.Range("F4:F8") = .Application.WorksheetFunction.VLookup(.Range("E4:E8"), .Range("Bang"), 2, 0)
On Error Resume Next
For Each Cell In Range("F4:F8")
If Cell.Value < 0 Then
Cell.Interior.ColorIndex = 2
Cell.Font.Color = vbWhite
End If
Next
End With
End Sub
 
Upvote 0
Em muốn viết đoạn cod thay cho công thức sau nhưng không được nhờ các bác giúp đỡ "
=IF(OR((ISERROR(FIND("nước",R35,1))=FALSE),(ISERROR(FIND("quốc gia",R35,1))=FALSE)),"Khách quốc tế","Khách nội địa")
Xin cám ơn mọi người
 
Upvote 0
Em muốn viết đoạn cod thay cho công thức sau nhưng không được nhờ các bác giúp đỡ "
=IF(OR((ISERROR(FIND("nước",R35,1))=FALSE),(ISERROR(FIND("quốc gia",R35,1))=FALSE)),"Khách quốc tế","Khách nội địa")
Xin cám ơn mọi người
Trong code ko hỗ trợ tiếng việt, bạn nên chuyển đổi mã của nó. Bạn tìm hiểuvề "chrw" nhé
 
Upvote 0
Em muốn viết đoạn cod thay cho công thức sau nhưng không được nhờ các bác giúp đỡ "
=IF(OR((ISERROR(FIND("nước",R35,1))=FALSE),(ISERROR(FIND("quốc gia",R35,1))=FALSE)),"Khách quốc tế","Khách nội địa")
Xin cám ơn mọi người

Thử củ chuối này:
PHP:
With Worksheets("sheet1")
If InStr(1, LCase(.Range("R35")), "nuoc") > 0 Or InStr(1, LCase(.Range("R35")), "quoc gia") > 0 Then
MsgBox "Khach quoc te"
Else:
MsgBox "Khach noi dia"
End If
End With
 
Upvote 0
Thử củ chuối này:
PHP:
With Worksheets("sheet1")
If InStr(1, LCase(.Range("R35")), "nuoc") > 0 Or InStr(1, LCase(.Range("R35")), "quoc gia") > 0 Then
MsgBox "Khach quoc te"
Else:
MsgBox "Khach noi dia"
End If
End With
Code trên không cần thiết >0 đâu anh. Chưa bàn tới vụ tiếng việt nữa và cũng sẽ không chạy được.
 
Upvote 0
Em cám ơn mọi người nhưng em không lấy được hàm vào excel. Xin lỗi mọi người nếu hỏi ngớ ngẩn. Em copy code vào Thisworkbook mà không được
 
Upvote 0
Mục tiêu của em lập hàm trong BVA thay thế cho công thức cột H nhưng không bít làm. xin đuoc mọi nguòi dạy bảo
 

File đính kèm

Upvote 0
Mục tiêu của em lập hàm trong BVA thay thế cho công thức cột H nhưng không bít làm. xin đuoc mọi nguòi dạy bảo
Bạn dùng function này
Alt+F11/Insert module/ paste code

A1 là dữ liệu, B1 = kq(A1)
Mã:
Function kq(xau As String) As String
If InStr(1, UCase(xau), "N" & ChrW(431) & ChrW(7898) & "C") Or InStr(1, UCase(xau), "QU" & ChrW(7888) & "C GIA") Then
    kq = "Kh" & ChrW(225) & "ch qu" & ChrW(7889) & "c t" & ChrW(7871)
Else
    kq = "Kh" & ChrW(225) & "ch n" & ChrW(7897) & "i " & ChrW(273) & ChrW(7883) & "a"
End If
End Function
 
Upvote 0
Web KT

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

Back
Top Bottom