tthtrang93
Thành viên mới

- Tham gia
- 19/8/16
- Bài viết
- 2
- Được thích
- 0
Hi cac anh chi,
Nhờ các anh chị giúp đỡ em viết VBA này với.
Em có 1 file tổng hợp <Summary> effort và performance rate của nhiều dự án. Mỗi dự án 1 sheet, dự án gồm nhiều nhân viên làm, và kéo dài nhiều tháng.
Sheet summary của từng tháng ví dụ 2016-01 sẽ gồm ID cua tat ca nhan vien trong công ty, sau đó tổng hợp effort và performance rate của các nhân viên trong tháng đó từ các sheet dự án.
Em có search ra được VBA vlookup nhiều sheet rồi nhưng gặp phải vấn đề là 1 nhân viên có thể làm nhiều dự án, nên khi mà vlookup thì chỉ tìm được giá trị đầu nó sẽ exit function.
Em muốn là khi tìm được giá trị rồi, nó vẫn tiếp tục vlookup các sheet còn lại, nếu thấy thì chèn thêm 1 dòng vào sheet summary cho nhân viên đó, copy dữ liệu tên, ID của nhân viên xuống và điền giá trị effort và performance rate vào.
VBA của em copy trên Internet xuống hiện giờ như sau ạ:
<
Function MultiShtVlookup(rngLup As Range, rngArry As Range, ColIdx As Long, bolExact As Boolean)
Dim ws As Worksheet
Dim varTemp As Variant
For Each ws In Worksheets
'Following line prevents searching in workheet containing the formula
If (ws.Name <> Application.Caller.Parent.Name And ws.Name <> "Summary effort") Then
With ws
varTemp = Null
varTemp = Application.VLookup(rngLup.Value, .Range(rngArry.Address(1, 1)), ColIdx, bolExact)
If Not IsError(varTemp) Then
MultiShtVlookup = varTemp
Exit Function
End If
End With
End If
Next ws
If IsError(varTemp) Then
MultiShtVlookup = CVErr(varTemp) 'Display the standard not found error (#N/A)
End If
End Function>
Vì trong cty chặn nên em k up file được. :-(.
Ai giúp em em xin mời ucf ạ. hic
Nhờ các anh chị giúp đỡ em viết VBA này với.
Em có 1 file tổng hợp <Summary> effort và performance rate của nhiều dự án. Mỗi dự án 1 sheet, dự án gồm nhiều nhân viên làm, và kéo dài nhiều tháng.
Sheet summary của từng tháng ví dụ 2016-01 sẽ gồm ID cua tat ca nhan vien trong công ty, sau đó tổng hợp effort và performance rate của các nhân viên trong tháng đó từ các sheet dự án.
Em có search ra được VBA vlookup nhiều sheet rồi nhưng gặp phải vấn đề là 1 nhân viên có thể làm nhiều dự án, nên khi mà vlookup thì chỉ tìm được giá trị đầu nó sẽ exit function.
Em muốn là khi tìm được giá trị rồi, nó vẫn tiếp tục vlookup các sheet còn lại, nếu thấy thì chèn thêm 1 dòng vào sheet summary cho nhân viên đó, copy dữ liệu tên, ID của nhân viên xuống và điền giá trị effort và performance rate vào.
VBA của em copy trên Internet xuống hiện giờ như sau ạ:
<
Function MultiShtVlookup(rngLup As Range, rngArry As Range, ColIdx As Long, bolExact As Boolean)
Dim ws As Worksheet
Dim varTemp As Variant
For Each ws In Worksheets
'Following line prevents searching in workheet containing the formula
If (ws.Name <> Application.Caller.Parent.Name And ws.Name <> "Summary effort") Then
With ws
varTemp = Null
varTemp = Application.VLookup(rngLup.Value, .Range(rngArry.Address(1, 1)), ColIdx, bolExact)
If Not IsError(varTemp) Then
MultiShtVlookup = varTemp
Exit Function
End If
End With
End If
Next ws
If IsError(varTemp) Then
MultiShtVlookup = CVErr(varTemp) 'Display the standard not found error (#N/A)
End If
End Function>
Vì trong cty chặn nên em k up file được. :-(.
Ai giúp em em xin mời ucf ạ. hic