Mọi người giúp em xem công thức này với (1 người xem)

Liên hệ QC

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

trungqucb

Thành viên mới
Tham gia
19/5/15
Bài viết
17
Được thích
3
Em muốn lấy tên chủ rừng từ cột C vào cột G điều kiện là cột E và F trùng với cột A và B
Mọi người giúp em với em lắp code này vào nhưng dài quá ko dùng đc :(
Link File Excel
Mã:
Sub vlookup()
   Dim i As Long, j As Long
   Dim arr, arr1, arr2
   Dim dic As Object
   Dim dk As String
   Set dic = CreateObject("scripting.dictionary")
   With Sheet3
       arr = .Range("a2:c" & .Range("a" & Rows.Count).End(xlUp).Row).Value
       arr1 = .Range("e2:g" & .Range("e" & Rows.Count).End(xlUp).Row).Value
       For i = 1 To UBound(arr, 1)
       dk = arr(i, 1) & "#" & arr(i, 2)
           If dic.exists(dk) = 0 Then
               dic.Item(dk) = Array(arr(i, 3))
           End If
       Next i
       For i = 1 To UBound(arr1, 1)
           dk = arr1(i, 1) & "#" & arr1(i, 2)
           If dic.exists(dk) Then
              arr1(i, 3) = dic.Item(dk)(0)
           Else
              arr(i, 3) = "khong tim thay"
           End If
       Next i
   .Range("e2").Resize(UBound(arr1, 1), 3).Value = arr1
   End With
End Sub
219813
 
Lần chỉnh sửa cuối:
Cái này dùng hàm IF là được sao phải code cho nó phức tạp vậy bạn ?
 
Em muốn lấy tên chủ rừng từ cột C vào cột G điều kiện là cột E và F trùng với cột A và B
Mọi người giúp em với em lắp code này vào nhưng dài quá ko dùng đc
Code đó nào có dài; Họa chăng là dữ liêu dài (nhiều vạn dòng)
Quan trọng hơn chuyện code dài là chuyện thuật toán
 
Em muốn lấy tên chủ rừng từ cột C vào cột G điều kiện là cột E và F trùng với cột A và B
Mọi người giúp em với em lắp code này vào nhưng dài quá ko dùng đc :(
Link File Excel
Mã:
Sub vlookup()
   Dim i As Long, j As Long
   Dim arr, arr1, arr2
   Dim dic As Object
   Dim dk As String
   Set dic = CreateObject("scripting.dictionary")
   With Sheet3
       arr = .Range("a2:c" & .Range("a" & Rows.Count).End(xlUp).Row).Value
       arr1 = .Range("e2:g" & .Range("e" & Rows.Count).End(xlUp).Row).Value
       For i = 1 To UBound(arr, 1)
       dk = arr(i, 1) & "#" & arr(i, 2)
           If dic.exists(dk) = 0 Then
               dic.Item(dk) = Array(arr(i, 3))
           End If
       Next i
       For i = 1 To UBound(arr1, 1)
           dk = arr1(i, 1) & "#" & arr1(i, 2)
           If dic.exists(dk) Then
              arr1(i, 3) = dic.Item(dk)(0)
           Else
              arr(i, 3) = "khong tim thay"
           End If
       Next i
   .Range("e2").Resize(UBound(arr1, 1), 3).Value = arr1
   End With
End Sub
View attachment 219813
Hỏi về Code mà sao đăng bài trong Box Hàm và công thức.
Tiêu đề không rỏ ràng có thể là vi phạm nội quy.
 
Web KT

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

Back
Top Bottom