Xin giúp đỡ Hàm match và Index trong VBA

Liên hệ QC

vanngon

Thành viên mới
Tham gia
28/7/10
Bài viết
5
Được thích
0
E Làm công thức kết hợp hàm Match và Index như trong file. Nhờ các tiền bối Chỉ giúp e đoạn code VBA thay thế cho công thức này ạ
Công thức trong file ở cột "I" Sheet TOHOP
PASS khóa công thức các sheet là 020585
Rất mong sự giúp đỡ từ diễn đàn ạ!
Trân trọng!
 

File đính kèm

  • DATA -LOGITEM.rar
    1.1 MB · Đọc: 12
E Làm công thức kết hợp hàm Match và Index như trong file. Nhờ các tiền bối Chỉ giúp e đoạn code VBA thay thế cho công thức này ạ
Công thức trong file ở cột "I" Sheet TOHOP
PASS khóa công thức các sheet là 020585
Rất mong sự giúp đỡ từ diễn đàn ạ!
Trân trọng!
Bạn xem code.
Mã:
Sub tinhtoan()
    Dim arr, lr As Long, i As Long, dic As Object, arr1, a As Integer
    Set dic = CreateObject("scripting.dictionary")
    With Sheets("BOM TO HOP")
         lr = .Range("A" & Rows.Count).End(xlUp).Row
         If lr < 7 Then Exit Sub
         arr = .Range("A7:F" & lr).Value
         For i = 1 To UBound(arr, 1)
             If Not dic.exists(arr(i, 1)) Then
                dic.Add arr(i, 1), arr(i, 6)
             End If
         Next i
    End With
    With Sheets("TO HOP")
         lr = .Range("C" & Rows.Count).End(xlUp).Row
         If lr < 6 Then Exit Sub
         arr = .Range("c6:D" & lr).Value
         ReDim arr1(1 To UBound(arr, 1), 1 To 1)
         For i = 1 To UBound(arr, 1)
             If dic.exists(arr(i, 1)) Then
                a = 1
                arr1(i, 1) = dic.Item(arr(i, 1)) * arr(i, 2)
             End If
         Next i
        If a Then .Range("I6").Resize(i - 1, 1).Value = arr1
    End With
End Sub
 
Web KT
Back
Top Bottom