Xin chào mọi người,
Giúp em rút trích dữ liệu trong file đính kèm giùm nha. Chi tiết trong file đính kèm lun. E xin cám ơn trước. Và hướng dẫn em cách làm với. Thanks a lot.
Cho hỏi MHT WT510BB có tới 41 Mã Nhà Máy thì trích rút theo điều kiện nào
Hi anh,
Lấy hết tất cả 41 đơn đó luôn.
Thanks a
Public Sub Xuan()
Dim sArr(), dArr(), DK(), I As Long, J As Long, N As Long, K As Long
With Sheet1
DK = .[G3:G7].Value
sArr = .Range(.[A2], .[A65000].End(xlUp)).Resize(, 5).Value
ReDim dArr(1 To UBound(sArr, 1), 1 To 5)
End With
For I = 1 To UBound(sArr, 1)
For N = 1 To 5
If sArr(I, 3) = DK(N, 1) Then
K = K + 1
For J = 1 To 5
dArr(K, J) = sArr(I, J)
Next J
End If
Next N
Next I
With Sheet3
.[A2:E65000].ClearContents
If K Then .[A2].Resize(K, 5).Value = dArr
End With
End Sub
Bạn dùng cách này xem sao:
Mã:Public Sub Xuan() Dim sArr(), dArr(), DK(), I As Long, J As Long, N As Long, K As Long With Sheet1 DK = .[G3:G7].Value sArr = .Range(.[A2], .[A65000].End(xlUp)).Resize(, 5).Value ReDim dArr(1 To UBound(sArr, 1), 1 To 5) End With For I = 1 To UBound(sArr, 1) For N = 1 To 5 If sArr(I, 3) = DK(N, 1) Then K = K + 1 For J = 1 To 5 dArr(K, J) = sArr(I, J) Next J End If Next N Next I With Sheet3 .[A2:E65000].ClearContents If K Then .[A2].Resize(K, 5).Value = dArr End With End Sub
Bạn mở file, View/ Macro/ View macro/ name Xuan/ Run.
Dùng Advanced Filter thử xem bạn nhé !
DATA --> Advanced điền các thông số sạu
list range = bạn chọn từ Cột A đến cột E
Ceriteria bạn tạo một vùng tiêu chuẩn như ảnh đính kèm --> ok rồi copy sang sheet 3
Còn nếu muốn tự động bạn record Macro --> sẽ có code cho bạn Auotmatic luôn!
View attachment 98850
Nếu là mình ,mình sẽ viết như vầy :
[GPECODE=vb]
Sub AVE()
On error resume next
Range("A:E").AdvancedFilter 1, [G3:G7], , 0
With Sheet3
.[A1].CurrentRegion.ClearContents
Range("A:E").Copy .[A1]
End With
Sheet1.ShowAllData
End Sub
[/GPECODE]
Bạn xem qua bài này rồi làm lại chắc là ok ?Hi anh,
Em làm theo hướng dẫn rồi nhưng bị lỗi như thế này. Anh xem file đính kèm nha.
Thánks.
^^ dạ em xin sửa như sau : <---- anh thấy đã ok chưa ?Dùng Advanced Filter thì cứ việc lọc thằng tới sheet3 luôn, cần gì lọc tại chổ rồi phải mất công copy chứ?
Bạn hãy làm theo video hướng dẫn dưới đây là được:Hi anh,
Em làm theo hướng dẫn rồi nhưng bị lỗi như thế này. Anh xem file đính kèm nha.
Thánks.
^^ dạ em xin sửa như sau : <---- anh thấy đã ok chưa ?
[GPECODE=vb]
Sub AVE()
On Error Resume Next
With Sheet3
.[A1].CurrentRegion.ClearContents
End With
Range("A:E").AdvancedFilter 2, [G1:G6], Sheet3.[A1], 0
Sheet1.ShowAllData
End Sub
[/GPECODE]
Sub AVE()
Sheet3.UsedRange.Clear
Sheet1.Range("A:E").AdvancedFilter 2, Sheet1.[G1:G6], Sheet3.[A1]
End Sub
Cụ thể nên xem trong file kèm theo
Xem thử file này, mở sheet nào thì lọc ds cho sheet đó.Cám ơn bạn HYen17 đã hồi âm !
Do nhu cầu công việc (đây là mẫu chung nhiều người dùng) không cho phép mình thay
đổi định dạng của các cell (như trộn ô ở dòng 12 và 13), hay thêm bất cứ một một bảng nào
vào các sheet trong file, nên gặp nhiều khó khăn trong vấn đề lọc dữ liệu
mình thiết nghĩ thay vì sửa lại các bảng trong các sheet (thực tế là không được sửa) ta có thể tạo một sheet
nháp đặt tên là Data chẳng hạn sheet này lấy dữ liệu của sheet Danh sach và thực hiện đưa dữ liệu từ
sheet nháp này (sheet Data) vào các sheet Nhan vien, Quan ly, Khac
Rất mong sự giúp đỡ của các bạn
Một lần nữa cám ơn các bạn trên diễn đàn và bạn HYen17