Nhờ chữa lỗi trong đoạn mã này

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

Tu Anh

Thành viên mới
Tham gia
31/12/06
Bài viết
46
Được thích
15
Mình viết một đoạn mã để tìm một chuỗi ký tự trong sheet2 giống chuỗi ký tự trong ô hiện hành.
Trước hết mình tìm những ô có 6 ký tự giống 6 ký tự bên trái bên trái của ô hiện hành.
Nếu không thấy sẽ chuyển sang tìm những ô có 5 ký tự giống.
Và nếu cũng không thấy thì hiện lên thông báo không tìm thấy.
Đoạn code như sau:
Mã:
Public Sub TraDM()
a = Left(ActiveCell.Value, 6)
Sheet2.Select
On Error GoTo timlai
Cells.Find(a, ActiveCell, xlValues, xlPart, xlByRows, xlNext, False, False).Activate
timlai:
b = Left(a, 5)
On Error GoTo loi
Cells.Find(b, ActiveCell, xlValues, xlPart, xlByRows, xlNext, False, False).Activate
Exit Sub
loi: MsgBox "Khong tim thay"
End Sub

Nhưng khi chạy, nếu không tìm thấy nó vẫn báo lỗi Run-timer error '91'....
mà không hiện lên bảng thông báo "Khong tim thay"
Nhờ các bạn kiểm tra và sửa giúp mình đoạn code trên.
Nếu bạn nào có cách tìm khác tốt hơn chỉ cho mình với.
Cám ơn nhiều.







:
 
Bạn có thể chỉnh lại như vầy:
Mã:
Public Sub TraDM()
a = Left(ActiveCell.Value, 6)
Sheet2.Select
On Error Resume Next
Cells.Find(a, ActiveCell, xlValues, xlPart, xlByRows, xlNext, False, False).Activate
If Err.Number > 0 Then
  Err.Number = 0
  b = Left(a, 5)
  Cells.Find(b, ActiveCell, xlValues, xlPart, xlByRows, xlNext, False, False).Activate
  If Err.Number > 0 Then MsgBox "Khong tim thay"
Else
  Exit Sub
End If
End Sub
 
Upvote 0
Cám ơn bạn PhamDuyLong nhé. Mình đã làm được rồi.
Bạn có biết cách để bảng tính tự động tính lại các phép tính không. Như kiểu refresh ấy.
 
Upvote 0
Web KT

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

Back
Top Bottom