nhocproaction
Thành viên mới
- Tham gia
- 19/10/14
- Bài viết
- 5
- Được thích
- 2
Kết quả nếu chạy ra đúng sẽ là? Và kết quả hiển thị ở đâu?Em chào anh/chị/em,
Em có một bài tập tìm kiếm giá trị giữa các bảng, sử dụng hàm index và match
Khi viết bằng VBA để gọi các giá trị cho hàm, thì bị lỗi. (như file đính kèm)
Nhờ anh/chị/em hướng dẫn giúp em cách chỉnh với nhé
Em chào anh,Kết quả nếu chạy ra đúng sẽ là? Và kết quả hiển thị ở đâu?
không biết phải thế này không?Em chào anh,
Kết quả chạy ra đúng là chỗ cột F (Mục tiêu)
Hiển thị ở E2 nhé anh
Em cảm ơn anh nhiều nhé
Sub Timgiatri()
Dim item As String
With Application
item = .VLookup(Sheets("summary").Range("A2"), Sheets("infor").Range("A1:B3"), 2, 0)
Sheets("summary").Range("e2") = .Index(Sheets("Infor").Range("A1:B3"), .Match(item, Sheets("Infor").Range("B1:B3"), False), 1)
End With
End Sub
Hi anh,không biết phải thế này không?
PHP:Sub Timgiatri() Dim item As String With Application item = .VLookup(Sheets("summary").Range("A2"), Sheets("infor").Range("A1:B3"), 2, 0) Sheets("summary").Range("e2") = .Index(Sheets("Infor").Range("A1:B3"), .Match(item, Sheets("Infor").Range("B1:B3"), False), 1) End With End Sub
Bạn kiểm tra lại kết quả nha.Hi anh,
Giá trị mình cần tìm ở sheet "AB" nhé anh.
Trong đó: lookup value là nối kí tự giữ cột code và area nha anh
Nhờ anh hướng dẫn giúp em nhé
Em cảm ơn anh nhiều nha
Sub GPE()
Dim Arr(), Res(1 To 1000, 1 To 1), Lr&, i&, k&
Dim sLr&, sArr(), a&
Dim dic As Object, Key$
Set dic = CreateObject("Scripting.Dictionary")
With Sheets("Summary")
sLr = .Range("B" & Rows.Count).End(xlUp).Row
sArr = .Range("B2:D" & sLr).Value
.Range("E2:E" & sLr).ClearContents
For i = 1 To UBound(sArr)
Key = sArr(i, 1) & "-" & sArr(i, 3)
If Not dic.exists(Key) Then
a = a + 1
dic.Add (Key), a
End If
Next i
End With
With Sheets("ab")
Lr = .Range("A" & Rows.Count).End(xlUp).Row
Arr = .Range("A2:C" & Lr).Value
For i = 1 To UBound(Arr)
Key = Arr(i, 1) & "-" & Arr(i, 2)
If dic.exists(Key) Then
k = k + 1
Res(dic.item(Key), 1) = Arr(i, 3)
Else
k = k + 1
End If
Next i
End With
Sheets("Summary").Range("E2").Resize(k, 1).Value = Res
Set dic = Nothing
End Sub
Em đã chạy được nhé anh. Em cảm ơn anh đã hướng dẫn nhiều nhéBạn kiểm tra lại kết quả nha.
PHP:Sub GPE() Dim Arr(), Res(1 To 1000, 1 To 1), Lr&, i&, k& Dim sLr&, sArr(), a& Dim dic As Object, Key$ Set dic = CreateObject("Scripting.Dictionary") With Sheets("Summary") sLr = .Range("B" & Rows.Count).End(xlUp).Row sArr = .Range("B2:D" & sLr).Value .Range("E2:E" & sLr).ClearContents For i = 1 To UBound(sArr) Key = sArr(i, 1) & "-" & sArr(i, 3) If Not dic.exists(Key) Then a = a + 1 dic.Add (Key), a End If Next i End With With Sheets("ab") Lr = .Range("A" & Rows.Count).End(xlUp).Row Arr = .Range("A2:C" & Lr).Value For i = 1 To UBound(Arr) Key = Arr(i, 1) & "-" & Arr(i, 2) If dic.exists(Key) Then k = k + 1 Res(dic.item(Key), 1) = Arr(i, 3) Else k = k + 1 End If Next i End With Sheets("Summary").Range("E2").Resize(k, 1).Value = Res Set dic = Nothing End Sub