. . . . Nhưng hôm trước mình quên là (2) trong sheet[danhsach] cột họ tên mình chỉ để một cột, hôm nay mình mình tách ra cột Họ và cột tên riêng thì khi sang sheet[Inbangdiem] nhấn vào nút Print thì báo lỗi,
(1) và sheet[thongke] cung không thống kê được. bạn sửa hộ code 2 sheet đó giúp mình được không? nếu được bạn sa]r luông trên file thống kê mà bạn đã gửi hôm trước, mình cảm ơn.
(1) Cách mình làm là dùng DCOUNTA() với sự trợ giúp VBA;
Việc này đòi hỏi có vùng chuẩn để lọc; Vùng chuẩn mình lấy (trưng dụng) là vùng từ 'AA1:AG7' trong trang tính 'DanhSach'
Quan trọng ở đây là luôn lúc nào [AA1] chứa chuỗi 'Nu'[/B][/i]
Nên khi bạn thêm cột [D], thì fải xóa đi 1 cột trước cột [AA] này; (Nếu thêm 2 cột cho 2 môn thi thì lại fải xóa tiếp 2 cột trước nó. . .)
Bạn lưu í nguyên lí này để vận hành CSDL của bạn mai sau, nếu còn xài fương cách thống kê của mình
(2) Khi đọc bài của bạn & chuyển sang kích hoạt trang 'In..." thì báo lỗi. Việc báo lỗi này diễn ra khi mình chưa thêm gì cả vô CSDL.
(Điều đó có nghĩa là đã có lỗi trước đó khi kích hoạt trang tính, nhưng mình chưa kích hoạt lần nào cho đến khi đọc bài của bạn.)
Còn giờ thì mình đọc mã code đó cũng đã hết hơi rồi, chứ chưa nói chuyện sửa cho bạn;
Nếu code này của người khác viết cho bạn thì bạn nhắn đích danh người đó sửa cho là tiện nhất, theo mình.
& khi đó, bạn nên đưa đoạn code đó lên BOX lập trình để nhờ mọi người có khả năng diễn dịch cho bạn hiểu sơ về nó.
Tôi nói hiểu sơ, vì chỉ để nhằm mục đích vận hành CSDL không bị vướng hay sai như bây giờ;
(3) Theo mình thấy trong các mã chương trình, mỗi lần mở/kích hoat các trang tính "In. . " thì macro làm lại các ô Validation; Mình đang cho là việc này không cần thiết. Việc này có thể cần thiết chỉ mỗi năm 1 lần duy nhất, một khi danh tính các lớp của năm học hiện thời khác với năm học trước hay danh sách tên gọi fòng thi năm học mới có 1 vài biến đổi.
Để làm việc này, bạn sẽ fải chỉ có kiến thức tối thiểu về Validation mà thôi, không cần đến dao mổ VBA
(4) Bạn đang thiếu 1 trang tính, mình cho là vậy; Đó là trang tính fụ trợ cho CSDL
Trên trang tính này chứa danh sách lớp trong năm học (cũng là để làm nguồn cho Validation sanh sách lớp ([M2]);
Cũng trên trang này chứa danh sách các môn học trong học kỳ;
Cũng trên nó, có thể cho chưa danh sách fòng thi;
Một khi như vậy, nếu có khâu nào đó trong nhà trường có biến động, ta chỉ việc đến trang fụ trợ này & sửa 1 chổ mà thôi
(5) Hỏi thêm về số báo danh: Số báo danh của HS mỗi năm có 1 khác nhau hay không? Nếu số báo danh là mã duy nhất của cả đời học sinh, thì không nói làm gì; Bằng không thì mỗi học sinh nên có mã HS duy nhất cho toàn bộ các năm học của em đó.
(Điều này nếu cần ta sẽ thảo luận tiếp sau)
Thân ái & chúc vui!