HỖ TRỢ HÀM VLOOKUP TRONG VBA (1 người xem)

Liên hệ QC

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

thiennguyen127

Thành viên mới
Tham gia
19/8/19
Bài viết
8
Được thích
0
Hi Các Pro !

Nhờ các Pro viết code VBA giúp file đính kèm :

Nội dung: Sử dụng Hàm Vlookup tham chiếu cho file TEST 1 ở ô M4,điều kiện vlookup ở ô J4 và dữ liệu Vlookup nằm ở 1 file khác.(Tham Chiếu) kết quả lấy ra ở ô M2 của file tham chiếu.


Thanks Pro!
 

File đính kèm

Hi Các Pro !

Nhờ các Pro viết code VBA giúp file đính kèm :

Nội dung: Sử dụng Hàm Vlookup tham chiếu cho file TEST 1 ở ô M4,điều kiện vlookup ở ô J4 và dữ liệu Vlookup nằm ở 1 file khác.(Tham Chiếu) kết quả lấy ra ở ô M2 của file tham chiếu.


Cảm ơn Pro!
Em xem đúng ý mình cần không nhé
 

File đính kèm

Em xem đúng ý mình cần không nhé


Dear Anh,

Cảm ơn anh đã hỗ trợ trả lời bài viết của em,nhưng code nhiều quá mà em lại mới nên chưa hiểu lắm,

Nhờ anh giúp thêm 1 bài nữa vlookup như file đính kèm, cho e dễ hiểu hơn nhé.

Mong phản hồi sớm từ anh.

Thanks anh
 

File đính kèm

Dear Anh,

Cảm ơn anh đã hỗ trợ trả lời bài viết của em,nhưng code nhiều quá mà em lại mới nên chưa hiểu lắm,

Nhờ anh giúp thêm 1 bài nữa vlookup như file đính kèm, cho e dễ hiểu hơn nhé.

Mong phản hồi sớm từ anh.

Cảm ơn anh
Gửi em
Bài đã được tự động gộp:

Dear Anh,

Em chưa hiểu chỗ này,nếu em thay đổi vị trí file thì e cần đổi ở chỗ nào ạ

Cảm ơn anh

View attachment 223318
Có nghĩa file test1 và file tham chiếu nằm chung 1 folder là được.
 

File đính kèm

Cảm ơn anh đã hỗ trợ nhiệt tính giúp em !
hihi
Không thấy file em đang dùng nên không biết em đang sai ở đâu, đoán mò cái sheet data sửa tên thành tham_chieu xem báo lỗi không? còn muốn để sheet data thì vào code chỉnh tham_chieu thành data lại
đoạn này:
Mã:
Option Explicit
Public Chk As Boolean, Dic As Object, aResult()
Sub ThamChieu()
Dim wks As Worksheet, SrcRng As Range, sArray
  Dim lR As Long, i As Long, n As Long, tmp
  On Error Resume Next
  Set wks = Sheets("Tham_Chieu") ' chỉnh ten sheet trùng sheet DATA'
  Set SrcRng = wks.Range("A2:B60000")
  sArray = SrcRng.Value
  .............................
 
Không thấy file em đang dùng nên không biết em đang sai ở đâu, đoán mò cái sheet data sửa tên thành tham_chieu xem báo lỗi không? còn muốn để sheet data thì vào code chỉnh tham_chieu thành data lại
đoạn này:
Mã:
Option Explicit
Public Chk As Boolean, Dic As Object, aResult()
Sub ThamChieu()
Dim wks As Worksheet, SrcRng As Range, sArray
  Dim lR As Long, i As Long, n As Long, tmp
  On Error Resume Next
  Set wks = Sheets("Tham_Chieu") ' chỉnh ten sheet trùng sheet DATA'
  Set SrcRng = wks.Range("A2:B60000")
  sArray = SrcRng.Value
  .............................

dear anh
Nó là file của em

Nhưng em muốn thay thế hàm vlookup như trong hình thành code VBA cho nhẹ file.

223345
 

File đính kèm

Gửi em
Bài đã được tự động gộp:


Có nghĩa file test1 và file tham chiếu nằm chung 1 folder là được.
Do em tự ý sửa sai code
Em copy thiếu 1 đoạn
Option Explicit
Public Chk As Boolean, Dic As Object, aResult()
- Chỉnh sai tên code
If Dic Is Nothing Then ThamChieu ' trong file em chỉnh data là sai
Mã:
Option Explicit
Public Chk As Boolean, Dic As Object, aResult()
Sub ThamChieu()
Dim wks As Worksheet, SrcRng As Range, sArray
  Dim lR As Long, i As Long, n As Long, tmp
  On Error Resume Next
  Set wks = Sheets("DATA")
  Set SrcRng = wks.Range("A2:B60000")
  sArray = SrcRng.Value
  ReDim aResult(1 To UBound(sArray, 1), 1 To UBound(sArray, 2))
  Set Dic = CreateObject("Scripting.Dictionary")
  For i = 1 To UBound(sArray, 1)
    If CStr(sArray(i, 1)) <> "" Then
      tmp = sArray(i, 1)
      If Not Dic.Exists(tmp) Then
        lR = lR + 1
        Dic.Add tmp, lR
        aResult(lR, 1) = tmp
        aResult(lR, 2) = sArray(i, 2)
      End If
    End If
  Next
End Sub
 

File đính kèm

Do em tự ý sửa sai code
Em copy thiếu 1 đoạn
Option Explicit
Public Chk As Boolean, Dic As Object, aResult()
- Chỉnh sai tên code
If Dic Is Nothing Then ThamChieu ' trong file em chỉnh data là sai
Mã:
Option Explicit
Public Chk As Boolean, Dic As Object, aResult()
Sub ThamChieu()
Dim wks As Worksheet, SrcRng As Range, sArray
  Dim lR As Long, i As Long, n As Long, tmp
  On Error Resume Next
  Set wks = Sheets("DATA")
  Set SrcRng = wks.Range("A2:B60000")
  sArray = SrcRng.Value
  ReDim aResult(1 To UBound(sArray, 1), 1 To UBound(sArray, 2))
  Set Dic = CreateObject("Scripting.Dictionary")
  For i = 1 To UBound(sArray, 1)
    If CStr(sArray(i, 1)) <> "" Then
      tmp = sArray(i, 1)
      If Not Dic.Exists(tmp) Then
        lR = lR + 1
        Dic.Add tmp, lR
        aResult(lR, 1) = tmp
        aResult(lR, 2) = sArray(i, 2)
      End If
    End If
  Next
End Sub


Đã thành công,

Thanks anh rất nhiều !

Chúc anh gặp nhiều may mắn
 
Web KT

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

Back
Top Bottom