Giúp code tìm kiếm giá trị (1 người xem)

Liên hệ QC

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

levanhoa1977

Thành viên chính thức
Tham gia
10/10/11
Bài viết
62
Được thích
3
Nhờ ace giúp mình có đoạn code bên dưới nhưng khi nhập liệu vào Cột B hay E nhưng giá trị trong sheet 8 hoặc sheet 1 có giá trị gần giống nhau như T8 và T81 thì giá trị được lấy sẽ là T8. Thay vì mình muốn lấy giá trị là T81. Trong khi nhập vào T81 nhưng vẫn ra giá trị là của T8.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rTarget As Range, aTarget, I As Long
'Dim Arr1(), Arr2(), tmp
On Error Resume Next
If Not Intersect(Range("C5:C50000"), Target) Is Nothing Then
Dim timKH As Range
Set timKH = Sheet1.Range("B2:B2000").Find(Target.Value)
If Not timKH Is Nothing Then Target.Offset(, 1).Value = timKH.Offset(, 1).Value
Target.Offset(, 8).Value = timKH.Offset(, 7).Value
ElseIf Not Intersect(Range("E5:E50000"), Target) Is Nothing Then
Dim timSP As Range
Set timSP = Sheet8.Range("B2:B2000").Find(Target.Value)
If Not timSP Is Nothing Then Target.Offset(, 1).Value = timSP.Offset(, 1).Value
Target.Offset(, 2).Value = timSP.Offset(, 2).Value
Target.Offset(, 11).Value = timSP.Offset(, 15).Value
End If
End Sub
 
Bạn áp dụng fương thức FIND() quá tùy tiện, nên kết quả sẽ là tùy hứng thôi!
Câu lênh này cần thêm mắm muối nè:
Mã:
Set timKH = Sheet1.Range("B2:B2000").Find(Target.Value)

Hãy tìm & đọc lại thêm chí ít 1 lần nữa về fương thức này đí bạn
Nhất là tham biến xlPart hay xlWhole cần xài đúng chỗ là được.

Chúc thành công & vui vẻ trong ngày!
 
Upvote 0
Bạn áp dụng fương thức FIND() quá tùy tiện, nên kết quả sẽ là tùy hứng thôi!
Câu lênh này cần thêm mắm muối nè:
Mã:
Set timKH = Sheet1.Range("B2:B2000").Find(Target.Value)

Hãy tìm & đọc lại thêm chí ít 1 lần nữa về fương thức này đí bạn
Nhất là tham biến xlPart hay xlWhole cần xài đúng chỗ là được.

Chúc thành công & vui vẻ trong ngày!
Mình không rành về VBA nhưng thay vì dùng công thức Vlookup file rất nặng. Mình chỉ có cách này nhưng kết bị trường hợp này bị sai. Nên nhờ ace giúp
 
Upvote 0
PHP:
 Set TimKH =Sheet1.Range("B2:B2000").Find(Target.Value, , xlFormulas, xlWhole)       '* xlPart*''
 
Upvote 0
Cảm ơn bạn. Nhưng dùng cách này cảm giác nó bị chậm.
 
Upvote 0
Đúng là cách này có thể chỉ hơn hàm VLOOKUP() thôi;
Muốn nhanh nữa thì đưa vô mảng mà duyệt
Cách này thì không thể chối từ tiếp cận VBA được rồi!
 
Upvote 0
đưa file lên, nhìn code như nhìn vào động bàn tơ ý
 
Upvote 0
Web KT

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

Back
Top Bottom