Code tìm kiếm (tương tự Vlookup) ở nhiều Sheet (1 người xem)

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

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

Excel365

Thành viên tích cực
Tham gia
29/10/10
Bài viết
865
Được thích
127
Giới tính
Nam
Nhờ các anh, chị giúp em viết code tìm kiếm ở nhiều sheet (giống như Vlookup)
Nếu tìm ở sheet TK không có sẽ tìm sang sheet TK2 sau đó điền vào sheet ATM
Trân trọng cảm ơn
 

File đính kèm

Nhờ các anh, chị giúp em viết code tìm kiếm ở nhiều sheet (giống như Vlookup)
Nếu tìm ở sheet TK không có sẽ tìm sang sheet TK2 sau đó điền vào sheet ATM
Trân trọng cảm ơn

Dùng 2 cái VLOOUP tìm trên 2 sheet, lồng bên ngoài hàm IFERROR là được rồi, cần gì code!
 
Upvote 0
Dạ cái này thì em cũng có làm thử rồi anh ạ.
Nay em muốn sử dụng code. Rất mong được các anh, chị giúp đỡ.
Trân trọng

Mình thấy thầy ndu nói hợp lí rồi, ko biết mục đích của bạn là gì, còn nếu bạn ngại viết dài, thử nghiên cứu pivot table consolidate multiple ranges thử xem, rồi dùng 1 hàm vlookup duy nhất.
 
Upvote 0
Dạ cái này thì em cũng có làm thử rồi anh ạ.
Nay em muốn sử dụng code. Rất mong được các anh, chị giúp đỡ.
Trân trọng

Định làm giúp bạn nhưng phát hiện ra một chuyện rất kỳ cục: MSCN ở cả 3 sheet hoàn toàn không "ăn nhậu" gì với nhau, vậy tìm ra giống gì đây?
-------------------
Ah.. xin lỗi, tôi nhầm.
Bạn dùng code này trong module:
Mã:
Function MVlookUp(ByVal Find_Value, ByVal Range_Address As String, byVal ColIndex As Long)
  Dim wks As Worksheet, rngTmp As Range
  MVlookUp = CVErr(xlErrNA)
  For Each wks In ActiveWorkbook.Worksheets
    If UCase(wks.Name) <> UCase(Application.ThisCell.Parent.Name) Then
      Set rngTmp = wks.Range(Range_Address).Resize(, 1).Find(Find_Value, , xlFormulas, xlWhole, , , False)
      If Not rngTmp Is Nothing Then
        MVlookUp = rngTmp(, ColIndex)
        Exit Function
      End If
    End If
  Next
End Function
Công thức tại cell D8 sheet ATM
Mã:
=IF(A8="","",MVlookUp(A8,"A4:C1000",3))
Kéo fill xuống
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Định làm giúp bạn nhưng phát hiện ra một chuyện rất kỳ cục: MSCN ở cả 3 sheet hoàn toàn không "ăn nhậu" gì với nhau, vậy tìm ra giống gì đây?
-------------------
Ah.. xin lỗi, tôi nhầm.
Bạn dùng code này trong module:
Mã:
Function MVlookUp(ByVal Find_Value, ByVal Range_Address As String, byVal ColIndex As Long)
  Dim wks As Worksheet, rngTmp As Range
  MVlookUp = CVErr(xlErrNA)
  For Each wks In ActiveWorkbook.Worksheets
    If UCase(wks.Name) <> UCase(Application.ThisCell.Parent.Name) Then
      Set rngTmp = wks.Range(Range_Address).Resize(, 1).Find(Find_Value, , xlFormulas, xlWhole, , , False)
      If Not rngTmp Is Nothing Then
        MVlookUp = rngTmp(, ColIndex)
        Exit Function
      End If
    End If
  Next
End Function
Công thức tại cell D8 sheet ATM
Mã:
=IF(A8="","",MVlookUp(A8,"A4:C1000",3))
Kéo fill xuống
Cám ơn anh rất nhiều.
 
Upvote 0

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

Back
Top Bottom