Code VBA thay thế hàm vlookup trong excel

Liên hệ QC

thinhnx22

Thành viên hoạt động
Tham gia
22/12/15
Bài viết
182
Được thích
38
Chào các bạn,
Trong file đính kèm mình cần một đoạn code thay thế hàm vlookup trong VBA. Kết quả mình mô tả chi tiết trong file. Các bạn giúp mình. Chân thành cảm ơn
 

File đính kèm

File đính kèm

Upvote 0
Chào các bạn,
Trong file đính kèm mình cần một đoạn code thay thế hàm vlookup trong VBA. Kết quả mình mô tả chi tiết trong file. Các bạn giúp mình. Chân thành cảm ơn
Bạn test thừ file dưới đây. Mã hàng có phân biệt chữ hoa thường
 

File đính kèm

Upvote 0
Cảm ơn các bạn, Cột A ở sheet kết quả là cố định các bạn nhé, không được xóa đi. Mình muốn lấy số liệu bằng Sub VBA chứ không phải dùng sự kiện worksheet change. Các bạn xem lại giúp mình. Chân thành cảm ơn.
 
Upvote 0
Cảm ơn các bạn, Cột A ở sheet kết quả là cố định các bạn nhé, không được xóa đi. Mình muốn lấy số liệu bằng Sub VBA chứ không phải dùng sự kiện worksheet change. Các bạn xem lại giúp mình. Chân thành cảm ơn.
Chưa hiểu ý bạn cố định là sao? Thì bạn không xóa đi mã hàng cột A là đâu mất đâu
 
Upvote 0
Chưa hiểu ý bạn cố định là sao? Thì bạn không xóa đi mã hàng cột A là đâu mất đâu
Cảm ơn bạn, nhưng nếu dùng sự kiện worksheet change mỗi lần mình lại phải kích vào mã hàng thì những cột khác mới nhảy số liệu, trong khi đó thực tế mã hàng của mình khoảng 70.000 ngìn dòng, nên mình muốn dùng sub vba
 
Upvote 0
Cảm ơn bạn, nhưng nếu dùng sự kiện worksheet change mỗi lần mình lại phải kích vào mã hàng thì những cột khác mới nhảy số liệu, trong khi đó thực tế mã hàng của mình khoảng 70.000 ngìn dòng, nên mình muốn dùng sub vba
Bạn thử lại nhe
 

File đính kèm

Upvote 0
Cảm ơn bạn, nhưng nếu dùng sự kiện worksheet change mỗi lần mình lại phải kích vào mã hàng thì những cột khác mới nhảy số liệu, trong khi đó thực tế mã hàng của mình khoảng 70.000 ngìn dòng, nên mình muốn dùng sub vba
Bạn chạy thử sub này:
PHP:
Public Sub sGpe()
Dim Dic As Object, sArr(), dArr(), tArr(), I As Long, J As Long, R As Long, Rw As Long, Tem As String
Set Dic = CreateObject("Scripting.Dictionary")
sArr = Sheets("NGUON").Range("A3", Sheets("NGUON").Range("A1000000").End(xlUp)).Resize(, 5).Value
R = UBound(sArr)
    For I = 1 To R
        Dic.Item(UCase(sArr(I, 1))) = I
    Next I
tArr = Sheets("KETQUA").Range("A3", Sheets("KETQUA").Range("A1000000").End(xlUp)).Value
R = UBound(tArr)
ReDim dArr(1 To R, 1 To 4)
    For I = 1 To R
        Tem = UCase(tArr(I, 1))
        If Dic.Exists(Tem) Then
            Rw = Dic.Item(Tem)
            For J = 2 To 5
                dArr(I, J - 1) = sArr(Rw, J)
            Next J
        End If
    Next I
    Sheets("KETQUA").Range("B3").Resize(R, 4) = dArr
Set Dic = Nothing
End Sub
 
Upvote 0
Mình đã ra được kết quả mong muốn, cảm ơn tất cả thành viên nhiệt tình giúp đỡ.
 
Upvote 0
Web KT

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

Back
Top Bottom