Giúp trích lọc dữ liệu ra sheet report từ sheet tổng hợp (1 người xem)

Liên hệ QC

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

letanhung82

Thành viên mới
Tham gia
9/6/11
Bài viết
11
Được thích
1
Xin chào các anh/chị diễn đàn giaiphapexel!

Hiện tại tôi đang rất cần sự trợ giúp của Quý anh/chị diễn đàn. Tôi cần lấy dữ liệu theo mã số khách hàng để đưa ra sheet report mỗi khi in công nợ cho từng khách hàng, chỉ cần 1 sheet danh sách khách hàng ( đã đặt mã số ); 1 sheet dữ liệu tổng hợp, 1 sheet report để thực hiện in ấn.

Hiện tại tôi đang làm thủ công tốn quá nhiều thời gian. Nên tôi rất cảm ơn sự giúp đỡ của Quý anh/chị rất nhiều. Xin xem file đính kèm và hướng dẫn thực hiện chi tiết giúp tôi nhé.
 

File đính kèm

Xin chào các anh/chị diễn đàn giaiphapexel!

Hiện tại tôi đang rất cần sự trợ giúp của Quý anh/chị diễn đàn. Tôi cần lấy dữ liệu theo mã số khách hàng để đưa ra sheet report mỗi khi in công nợ cho từng khách hàng, chỉ cần 1 sheet danh sách khách hàng ( đã đặt mã số ); 1 sheet dữ liệu tổng hợp, 1 sheet report để thực hiện in ấn.

Hiện tại tôi đang làm thủ công tốn quá nhiều thời gian. Nên tôi rất cảm ơn sự giúp đỡ của Quý anh/chị rất nhiều. Xin xem file đính kèm và hướng dẫn thực hiện chi tiết giúp tôi nhé.
Làm luôn cho bạn tách tất cả các khách ra từng sheet riêng theo form báo cáo luôn.
 

File đính kèm

Upvote 0
Chào anh!

Rất cảm ơn về sự giúp đỡ của anh. Với sự giúp dỡ này công việc của em sẽ tiết kiệm được thời gian rất nhiều. Vui quá, nếu em không biết điều gì nữa mong anh giúp đỡ em nhé.
 
Upvote 0
Thêm cho bạn cái nữa, màu mè cho vui mắt!

}}}}} }}}}} }}}}}
--=0 --=0 --=0
@#!^% @#!^% @#!^%
 

File đính kèm

Upvote 0
Cảm ơn anh, thế là có 2 file. Em đã thử chạy file của anh, tuy nhiên ở sheet report, số dòng của một khách hàng nó chỉ hiện thị đến số thứ tự 11 thui, mà một khách hàng của em có thể lên đến vài trăm, cả nghìn dòng như thế thì làm sao nhỉ, anh giúp em thêm lần nữa em sẽ rất cảm ơn anh, như vậy em bổ sung thêm yêu cầu thế này:

- Số dòng ở sheet report là không giới hạn. Khi lấy hết data liên quan đến một khách hàng thì nó sẽ tự kết thúc, dòng cuối luôn là dòng " tổng thanh toán"
- Ở cell tổng của cột cước phí và thu hộ mặc định công thức tự sum lại.

Anh cố gắng giúp em thêm lần nữa nhé

Làm luôn cho bạn tách tất cả các khách ra từng sheet riêng theo form báo cáo luôn.

Chào anh!

File của anh gởi chạy rất ok. Tuy nhiên, nếu bung cùng một lúc hết tất cả thì rất nhiều sheet, việc này thuận lợi khi ta tổng kết công nợ một lần vào cuối tháng, nhưng nếu ta cần một report cho một khách hàng vào một ngày giữa tháng chẳng hạn thì hơi bất tiện. Có cách nào vừa bung cùng một lúc và vừa có thể chọn ở ô màu vàng từng khách hàng cụ thể không anh?

Em còn một vấn đề nữa, nếu có thể mong anh giúp đỡ, nếu không được thì không sao, vấn đề như sau:

- Tạo nút " Send report " trên sheet report: vì sau khi tổng hợp công nợ cho từng khách hàng, em sẽ tiến hành in ra giấy hoặc gởi mail bảng report này cho khách. thông thường em sẽ cắt từng report và dán vào một file exel khác và gởi cho từng khách. Nếu trong exel có thể tích hợp việc " send mail" trực tiếp mà chỉ lấy đúng giao diện report đang active thì hay quá. Phuơng thức là khi click vào nút " send report" sẽ tự động lấy outlook từ máy của em để gởi.

Em không rành exel, nên nếu câu hỏi trên không hợp lý mong anh bỏ qua cho, nếu exel làm được vấn đề này mong anh và mọi người giúp đỡ.

Cảm ơn anh rất nhiều
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Bạn xem trong file tiếp nha:

[Thongbao]Em đã thử chạy file của anh, tuy nhiên ở sheet report, số dòng của một khách hàng nó chỉ hiện thị đến số thứ tự 11 thui, mà một khách hàng của em có thể lên đến vài trăm, cả nghìn dòng như thế thì làm sao nhỉ,
Như vậy em bổ sung thêm yêu cầu thế này:

- Số dòng ở sheet report là không giới hạn. Khi lấy hết data liên quan đến một khách hàng thì nó sẽ tự kết thúc, dòng cuối luôn là dòng " tổng thanh toán"
- Ở cell tổng của cột cước phí và thu hộ mặc định công thức tự sum lại.

Anh cố gắng giúp em thêm lần nữa nhé[/Thongbao]
 

File đính kèm

Upvote 0
Chào anh!

File của anh gởi chạy rất ok. Tuy nhiên, nếu bung cùng một lúc hết tất cả thì rất nhiều sheet, việc này thuận lợi khi ta tổng kết công nợ một lần vào cuối tháng, nhưng nếu ta cần một report cho một khách hàng vào một ngày giữa tháng chẳng hạn thì hơi bất tiện. Có cách nào vừa bung cùng một lúc và vừa có thể chọn ở ô màu vàng từng khách hàng cụ thể không anh?

Em còn một vấn đề nữa, nếu có thể mong anh giúp đỡ, nếu không được thì không sao, vấn đề như sau:

- Tạo nút " Send report " trên sheet report: vì sau khi tổng hợp công nợ cho từng khách hàng, em sẽ tiến hành in ra giấy hoặc gởi mail bảng report này cho khách. thông thường em sẽ cắt từng report và dán vào một file exel khác và gởi cho từng khách. Nếu trong exel có thể tích hợp việc " send mail" trực tiếp mà chỉ lấy đúng giao diện report đang active thì hay quá. Phuơng thức là khi click vào nút " send report" sẽ tự động lấy outlook từ máy của em để gởi.

Em không rành exel, nên nếu câu hỏi trên không hợp lý mong anh bỏ qua cho, nếu exel làm được vấn đề này mong anh và mọi người giúp đỡ.

Cảm ơn anh rất nhiều

Bạn xem file đính kèm nhé.
 

File đính kèm

Upvote 0
Xin chào các anh/chị diễn đàn giaiphapexel!

Hiện tại tôi đang rất cần sự trợ giúp của Quý anh/chị diễn đàn. Tôi cần lấy dữ liệu theo mã số khách hàng để đưa ra sheet report mỗi khi in công nợ cho từng khách hàng, chỉ cần 1 sheet danh sách khách hàng ( đã đặt mã số ); 1 sheet dữ liệu tổng hợp, 1 sheet report để thực hiện in ấn.

Hiện tại tôi đang làm thủ công tốn quá nhiều thời gian. Nên tôi rất cảm ơn sự giúp đỡ của Quý anh/chị rất nhiều. Xin xem file đính kèm và hướng dẫn thực hiện chi tiết giúp tôi nhé.

làm theo autofillter. làm trên cùng 1 sheet báo cáo theo yêu cầu.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
làm theo autofillter. làm trên cùng 1 sheet báo cáo theo yêu cầu.

code của bạn:

[GPECODE=sql]Sub Loc()
i = Sheet2.Range("m65000").End(xlUp).Row
With Sheet2.Range("a4:m" & i)
.AutoFilter 13, Sheet3.Range("i4")
Sheet2.Range("a5:c" & i).Copy: Sheet3.Range("a8").PasteSpecial
Sheet2.Range("f5:j" & i).Copy: Sheet3.Range("c8").PasteSpecial
.AutoFilter
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("i5").Address Then
Range("a8:i65000").ClearContents
Loc
Range("i4").Select
End If
End Sub

[/GPECODE]

Có thể gộp dòng 5+6 thành 1 dòng lệnh (2 dòng này của bạn đến 4 dòng lệnh)
Dùng sự kiện Change thay vì dùng SelectionChange
 
Upvote 0
cảm ơn Hai lúa đã chia sẻ. thực sự VBA là do mình tự học, tự mày mò trên diễn đàn nên nhiều khi làm chỉ đạt được yêu cầu công việc là OK nên nhiều khi code còn dài dòng lắm. mình sẽ rút kinh nghiệm khi viết code nhiều hơn. thanks.
 
Upvote 0
cảm ơn Hai lúa đã chia sẻ. thực sự VBA là do mình tự học, tự mày mò trên diễn đàn nên nhiều khi làm chỉ đạt được yêu cầu công việc là OK nên nhiều khi code còn dài dòng lắm. mình sẽ rút kinh nghiệm khi viết code nhiều hơn. thanks.
Thì nó như sau nè bạn.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("i4").Address Then
    Range("a8:i65000").ClearContents
    Sheet2.Range("A4:M" & _
    Sheet2.Range("m65000").End(xlUp).Row).AdvancedFilter 2, [M1:M2], [B7:H7]
End If

End Sub
 

File đính kèm

Upvote 0

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

Back
Top Bottom