Lọc - Copy sang sheet mới với điều kiện cho trước

Liên hệ QC

Thien

Thành viên thường trực
Tham gia
23/6/06
Bài viết
352
Được thích
112
Hi All !

Có bài toán này, các sư phụ giải giúp nhen.

- cột B ngày ký HĐ, cột C ngày hết hạn.
- Cột H ngày đến hạn thanh toán.

Mình muốn có 1 macro làm các việc như sau:
- Dò tìm các hàng trong cột C so với ngày người dùng nhập vào (có 1 from để người dùng nhập ngày vào) xem có đến hạn chưa. Nếu đã đến hạn thì copy dữ liệu toàn bộ dữ liệu của các dòng đó sang 1 sheet khác & đặt tên sheet là hết hạn.
- Dò tìm trong cột H so với ngày người dùng nhập vào (có 1 from để người dùng nhập ngày vào) xem có đến hạn chưa. Nếu đã đến hạn thì copy dữ liệu toàn bộ dữ liệu của dòng đó sang 1 sheet khác & đặt tên sheet là đến hạn.
- Dữ liệu copy sang Sheet hết hạn & đến hạn được nối tiếp nhau, được ngăn cách bởi ngày người dùng nhập vào.

Quả thật đau đầu quá, cứu tớ với các bạn ơi.

Cảm ơn nhiều nhen.

Thân chào cả nhà
 
Chỉnh sửa lần cuối bởi điều hành viên:
Dear Thien,
----------------
Bạn tham khảo chủ đề này!
Tham khảo các đoạn mã do người khác viết sẵn là rất tốt. Tuy nhiên theo mình, bên cạnh đó cần tìm hiểu những kiến thức cơ bản về VBA để vận dụng linh hoạt trong mọi trường hợp thì càng tốt hơn!
 
Upvote 0
Đào Việt Cường đã viết:
Dear Thien,
----------------
Bạn tham khảo chủ đề này!
Tham khảo các đoạn mã do người khác viết sẵn là rất tốt. Tuy nhiên theo mình, bên cạnh đó cần tìm hiểu những kiến thức cơ bản về VBA để vận dụng linh hoạt trong mọi trường hợp thì càng tốt hơn!

Hi Đào Việt Cường !

Mình đang còn vướng chỗ:
- Người dùng nhập giá trị ngày vào để so ngày nhập vào với ngày đến hạn.
- Khi copy sang thì bị đè lên luôn, không lưu lại dữ liệu cần copy trước.

Mình đảm bảo dùng AdvancedFilter không giải được bài toán này.

Thân chào bạn
 
Upvote 0
Mình đảm bảo dùng AdvancedFilter không giải được bài toán này.
Sao? Chớ vậy chứ!
Theo ~ gì bạn ra đề thì mình hiểu là lọc tất thảy các record theo 'Ngày đến hạn'
Cái này dùng AdvancedFilter:L OK!
Tiếp theo lại là Advanced Filter lần nữa vô 1 nơi khác trong bảng theo "Ngày TToán"
Như vậy trên sheet zì đó bạn có 3 Tables, 1 CSDL & 2 là sản fẩm lọc từ nó
Sau đó bạn muốn chép 2 cái SF này đi chổ # được mà!
Tôi xin VD cụ thể: Giả dụ bạn có CSDL gồm 4 trường Từ B2: E(n)
Bạn giành các cột G:J là chuẩn lọc; Các cột L:O chứa KQ lọc 1 & Q trở đi chứa KQ lọc 2
Ngày tới hạn nhập vô H2 & ngày TToán nhập vô I6 thì được không vậy?
 
Upvote 0
Dear Thien,
-----------
Có thể hiểu bài toán của bạn tương tự như việc in một sổ chi tiết công nợ của một khách hàng với số liệu phát sinh trích ra tư sổ nhật ký được không? Các dữ kiện đầu vào của yêu cầu này còn nhiều hơn so với bài toán của bạn:
- Tài khoản cần in
- Thời gian phát sinh (từ ngày, đến ngày)
- Khách hàng
- Ngoài ra bạn có thể in theo bất cứ chỉ tiêu nào có trên sổ nhật ký
Những bài toán dạng này mình thường dùng AdvancedFilter.
Chỉ có một điểm khác so với yêu cầu của bạn là bạn muốn gộp 2 sổ làm một (có thể hiểu là vậy), bao gồm các thông tin đến hạn và hết hạn (nên đặt đến hạn trước, hết hạn sau):
Thien đã viết:
- Dữ liệu copy sang Sheet hết hạn & đến hạn được nối tiếp nhau, được ngăn cách bởi ngày người dùng nhập vào.
Như vậy bạn chỉ có vướng mắc "Khi copy sang thì bị đè lên luôn, không lưu lại dữ liệu cần copy trước"? Nghĩa là sau khi trích xuất dữ liệu vào 2 sheet: DENHAN và QUAHAN, bạn không thể gộp được thông tin của 2 bảng này làm một vì không biết chỉ số dòng cuối cùng của bảng thứ nhất?
Có lẽ bạn mô tả cụ thể hơn các bước bạn đã làm và file minh hoạ để mọi người hỗ trợ bạn tốt hơn.
 
Upvote 0
Chào cả nhà.

Để giải bài toán của mình, mình đã cắt bỏ bớt yêu cầu & có 2 cách giải:
Cách 1: Dùng công thức & hàm đơn thuần có sẵn trong excel.
- Thêm cột cạnh cột ngày hết hạn hợp đồng & được đặt công thức ngày, sau đó dùng Cond để định dạng nhửng dòng chứa ngày hết hạn sẽ cho màu lên báo cho người dùng biết.
- Tương tự cho cột đến hạn thanh toán.

Cách2: Dùng macro.
- Có 1 nút macro khi nhấp vào sẽ hiện from:
+ Có dòng cho lựa chọn lọc ngày đến hạn HĐ hay đến hạn thanh toán.
+ Có dòng người dùng nhập ngày vào.
- Sẽ kiểm tra ngày người dùng nhập vào với cột đến hạn HĐ & cột đến hạn thanh toán & copy sang Sheet đến hạn HĐ hoặc đến hạn ttoán (tuỳ vào lựa chọn trên from là lọc ngày đến hạn HĐ hay đến hạn thanh toán).

Các bạn có code hay cho mình kham khảo.

Thân chào cả nhà.

PS: Dear Đào Việt Cường & nvson
Cấu trúc file của mình thì đơn giản:
- Là file thống kê hợp đồng.
- Không có định khoản nợ, có.
- Có STT, Tên đối tác, giá trị HĐ, ngày ký & kết thúc HĐ, ngày đến hạn thu, ngày đã ttoán, ST ttoán, Còn phải ttoán, ghi chú.

Chúc các bạn khoẻ & thành công trong công việc.
 
Upvote 0
Web KT
Back
Top Bottom