hàm Match bị lỗi khi so sánh các biến kí tự

Liên hệ QC

thuyloitienlu

Thành viên chính thức
Tham gia
17/4/08
Bài viết
58
Được thích
0
Tôi có tìm trên diễn đàn đoạn code dùng hàm match để so sánh các biến là chuỗi kí tự ở 1 cột với 1 hàng các chuỗi kí tự cho trước trong bảng dữ liệu. nhưng kết quả báo sai.
ví dụ trong range("D4")="KHN" và trong Range(3,15)="KHN" nhưng kết quả báo là: không có chuỗi "KHN" trong cột D. Các bạn xem và chỉnh giúp tôi nhé.

Mã:
  rc = Cells(3, 1).End(xlDown).Row
   cc = Cells(3, 9).End(xlToRight).Column
   Range(Cells(4, 6), Cells(65536, cc)).Clear
    Set myrange = Range(Cells(3, 9), Cells(3, cc))
    bandomax = Application.WorksheetFunction.Max(Range(Cells(2, 1), Cells(rc, 1)))
    On Error Resume Next
For r = 1 To bandomax
    Cells(r + 3, 6) = r
Next
For r = 2 To rc
     bando = Cells(r, 1)
     loai = Cells(r, 4)
      Cells(3 + bando, 7) = Cells(3 + bando, 7) + Cells(r, 3) 
                      
      Cells(3 + bando, 8) = Cells(3 + bando, 8) + Cells(r, 2).Rows.count                      
  
  sttloai = Application.WorksheetFunction.Match(loai, myrange, 0)
  If Err.Number > 0 Then
       MsgBox "Khong co ma hang nay" & loai, , "sory"
       ActiveWorkbook.Close False
    Exit Sub
  Else
    Cells(3 + bando, 8 + sttloai) = Cells(3 + bando, 8 + sttloai) + Cells(r, 3)
  End If
 
Bạn đưa luôn file luôn đi. Khó hiểu quá, hay là bạn sửa
Loai=trim(...)
Bando=trim(...)
Có khi là do còn 1 khỏang trắng (blank) nên nó không hiểu.
Mà đã for r=.... thì cần gì phải dùng match. Sao không dùng, if myrange(r) =loai then Sttloai=r
 
Upvote 0
Mình đã xem lại các chuỗi kí tự đó (trong chuỗi chắc chắn không còn khoảng trắng) mà vẫn báo lỗi. dùng hàm match vì vùng Myrange ( chạy từ 9 tới cc) có vị trí khác Loại (chạy từ 2 tới rc). Khi mình gõ lại các chuỗi kí tự trong cột biến D thì hàm chạy đúng ? mình không hiểu lỗi tại sao ? tham số đặt = 0 cho hàm match có đúng không ?
 
Upvote 0
Bạn có thể gửi file lên luôn cho mọi người cùng xem cho dễ.
 
Upvote 0
Mình đã xử lý được rồi. cảm ơn các bạn nhé.
Bạn hỏi đã đời trời đất rồi tự xử lý luôn! Vậy sao bạn không cho biết bạn đã xử lý điều gì để mọi người học hỏi kinh nghiệm
Chẳng lẽ bạn cần học hỏi còn những thành viên khác thì không cần ???
 
Upvote 0
Web KT

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

Back
Top Bottom