Xin trợ giúp về Hàm để tổng hợp dữ liệu từ bảng theo dõi chi tiết. (1 người xem)

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

TranNguyenHoang

Thành viên mới
Tham gia
3/1/12
Bài viết
15
Được thích
3
Chào các anh chị Diễn đàn!
Em có một vấn đề rất mong mọi người trợ giúp. Nội dung cụ thể em gửi file đính kèm.
Tóm tắt:
Em có 1 bảng nhật ký theo dõi sản phẩm. gồm có cột MH sản phẩm, kế tiếp là các cột để đánh dấu tình trạng của SP, VD: C1: Đã kiểm tra, đạt yc; D1: đã kiểm tra, chưa đạt yc; E1: chưa kiểm tra; F1: chưa gia công... ở mỗi cel em dùng Data/validation để hiển thị tùy chọn dấu kiểm (ví dụ dấu v để đánh dấu chọn, dấu trống để bỏ chọn...) để đánh dấu xác nhận cho tình trạng của SP đó. Vấn đề là mỗi SP chỉ có thể chọn 1 trạng thái, vậy làm thế nào để khi tích chọn ở 1 cel (VD C8) thì các Cel tình trạng kế tiếp như D8;E8;F8 sẽ không thể tích chọn hoặc trả về dấu chọn khác (là dấu bỏ trống).

Rất mong được các anh chị giúp đỡ! Em cảm ơn nhiều!
 

File đính kèm

Chào các anh chị Diễn đàn!
Em có một vấn đề rất mong mọi người trợ giúp. Nội dung cụ thể em gửi file đính kèm.
Tóm tắt:
Em có 1 bảng nhật ký theo dõi sản phẩm. gồm có cột MH sản phẩm, kế tiếp là các cột để đánh dấu tình trạng của SP, VD: C1: Đã kiểm tra, đạt yc; D1: đã kiểm tra, chưa đạt yc; E1: chưa kiểm tra; F1: chưa gia công... ở mỗi cel em dùng Data/validation để hiển thị tùy chọn dấu kiểm (ví dụ dấu v để đánh dấu chọn, dấu trống để bỏ chọn...) để đánh dấu xác nhận cho tình trạng của SP đó. Vấn đề là mỗi SP chỉ có thể chọn 1 trạng thái, vậy làm thế nào để khi tích chọn ở 1 cel (VD C8) thì các Cel tình trạng kế tiếp như D8;E8;F8 sẽ không thể tích chọn hoặc trả về dấu chọn khác (là dấu bỏ trống).

Rất mong được các anh chị giúp đỡ! Em cảm ơn nhiều!
Bạn xem có đúng ý không nhé.
Lưu ý: Công thức trong Validation. Bạn chỉ cần copy và dán theo điều kiện dán là Validation là được
 

File đính kèm

Cảm ơn bác rất nhiều về công thức này! Đã giải đúng như ý đồ của em. Điều này sẽ giúp tránh việc cùng 1 SP khi thay đổi tình trạng theo nhật ký mà không kiểm soát trạng thái cũ sẽ gây nhầm lẫn. Tuy nhiên, em mới nhận thấy hơi tốn time một xiu xíu đó là việc trước khi có được tích chọn ở các cel khác, ví như cần thay đổi tình trạng của SP, thì phải bỏ chọn ở cel hiện tại, khi đó list dấu tùy chọn ở các cel khác mới hiển thị để cho phép chọn. Nhưng em nghĩ dùng hàm nên chỉ có thể đạt đến đk đó thôi. Có thể bằng cách nào để kiểu mà khi tích chọn ở bất kỳ cel nào đang bỏ trống (cùng dòng trạng thái 1 SP) thì dấu tích chọn ở cel hiện tại sẽ tự động bỏ chọn dấu kiểm đó, trả về cel trống. Như vậy chỉ luôn có 1 thao tác ở một lần thay đổi trạng thái của SP.
 
Cảm ơn bác rất nhiều về công thức này! Đã giải đúng như ý đồ của em. Điều này sẽ giúp tránh việc cùng 1 SP khi thay đổi tình trạng theo nhật ký mà không kiểm soát trạng thái cũ sẽ gây nhầm lẫn. Tuy nhiên, em mới nhận thấy hơi tốn time một xiu xíu đó là việc trước khi có được tích chọn ở các cel khác, ví như cần thay đổi tình trạng của SP, thì phải bỏ chọn ở cel hiện tại, khi đó list dấu tùy chọn ở các cel khác mới hiển thị để cho phép chọn. Nhưng em nghĩ dùng hàm nên chỉ có thể đạt đến đk đó thôi. Có thể bằng cách nào để kiểu mà khi tích chọn ở bất kỳ cel nào đang bỏ trống (cùng dòng trạng thái 1 SP) thì dấu tích chọn ở cel hiện tại sẽ tự động bỏ chọn dấu kiểm đó, trả về cel trống. Như vậy chỉ luôn có 1 thao tác ở một lần thay đổi trạng thái của SP.
Thêm 1 giải pháp bằng VBA cho bạn theo yêu cầu. Chú ý dòng có hiệu lực từ dòng 5 đến hết bảng, cột có hiệu lực là cột C,D,E,F
 

File đính kèm

Rất cảm ơn bác đã dành time để giúp em.
Cái này hay hơn nhiều đó bác. Món VBA thì em chịu rồi, chỉ hiểu sơ sài thôi, nhưng không biết làm! . Đúng là như pa của bác thì thao tác chuyên nghiệp và nhanh hơn khi chọn.
Có một điều, em thấy nếu vô tình hoặc do nhu cầu phải thay đổi cấu trúc bảng, như insert thêm cột trước các cột B đến H, hoặc xóa dữ liệu ở H3 thì dấu kiểm ở các cột C, D,E, F sẽ bị mất. Nếu "dời" H3 về A1 thì không mất dấu chọn, nhưng nếu vẫn insert thêm cột trước các cột B, C thì vị trí dấu chọn sẽ bị dịch chuyển sang cột có chủ đề khác. Thật ra thì Column = 3, 4, 5, 6 tương ứng với kết quả ở các cột C, D, E, F không đổi, mà khi đó chủ đề của các cột sẽ bị lệch đi so với nội dung bên dưới thôi, vd như dấu kiểm sẽ "nhảy" sang cột có nội dung khác với chủ đề C, D, E, F khi chưa thêm cột. Như vậy lại phải vào VBA để sửa lại vị trí của các cột có chủ đề dùng dấu kiểm.
Cái này là để đề phòng thôi, nếu chắc chắn rằng thiết kế bảng sẽ không phải thay đổi, bổ sung thêm, thì em ưu tiên sử dụng pa này của bác, vì nó thật dễ sử dụng, nhanh mà lại rất "bờ rồ"!
 

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

Back
Top Bottom