Xin giúp đỡ code copy dữ liệu theo điều kiện sang sheet khác !!! (1 người xem)

Liên hệ QC

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

dthanhdl

Thành viên mới
Tham gia
15/9/08
Bài viết
18
Được thích
1
Em có file dữ liệu như đính kèm.

Ở sheet data có chứa dữ liệu nhập vào. Em tạo thêm 1 cột phụ để lọc kí hiệu theo mã thiết bị và các sheet theo tên mã thiết bị (hoặc các sheet có thứ tự tăng dần (data - sheet1, May in - sheet2 .....)

Mong mọi người giúp em code VBA để copy tất cả các hàng có cùng mã thiết bị (MTB) giống nhau sang 1 sheet.

Em xin chân thành cám ơn.
 

File đính kèm

Em có file dữ liệu như đính kèm.

Ở sheet data có chứa dữ liệu nhập vào. Em tạo thêm 1 cột phụ để lọc kí hiệu theo mã thiết bị và các sheet theo tên mã thiết bị (hoặc các sheet có thứ tự tăng dần (data - sheet1, May in - sheet2 .....)

Mong mọi người giúp em code VBA để copy tất cả các hàng có cùng mã thiết bị (MTB) giống nhau sang 1 sheet.

Em xin chân thành cám ơn.

Góp ý:

1/ Nên tách cột B làm 2 cột:
- 1 cột với tên là Loại thiết bị (Máy in, USB, Laptop). Dựa vào cột này đề tách sheet và đặt tên (chứ không cần cột D như bạn đã làm) và cũng không cần vùng (A1:B3), vùng (H1:I 4), với cách này thì sẽ dễ dàng tổng hợp từng Loại thiết bị, Tên thiết bị.
- 1 cột với tên là Tên thiết bị (Toshiba, Sony, KINGSTON)

2/ Nên thêm 1 sheet liệt kê Tên thiết bị (1 cột), liệt kê Loại thiết bị (1 cột) để dùng nhập liệu được dễ dàng hơn (dùng Validation nhập liệu vào sheet data).

3/ Nên đưa File với tiêu đề đầy đủ (là tiêu đề thật đang theo dõi) để tránh làm phiền các thành viên khác (Vì phải giúp làm nhiều lần, mất thời gian).
 
Lần chỉnh sửa cuối:
Upvote 0
Có khi nào cần đến 3 sheet kết quả không bạn.
thực tế như bài toán của bạn có cả trăm linh kiện máy tính, lại tạo cả trăm sheet?
chỉ cần 1 sheet Báo cáo duy nhất, cần báo cáo theo thiết bị nào thì lọc theo thiết bị đó. Bài toán này dùng advanced filter là đẹp nhất.
 
Upvote 0
Tôi làm thử như này, có đúng ý bạn.
Chọn mã thiết bị tại ô C5 của sheet Báo Cáo.
[gpecode=vb]Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$5" Then
[B9:D100].Clear
Sheet1.[A6:C50].AdvancedFilter 2, [H3:H4], [B8:D8]
End If
End Sub[/gpecode]
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom