Hôm trước cũng quan tâm về chủ đề này, hóng! Nhưng thắc mắc là nếu đã bỏ "/" thì chủ thớt sao không hỏi cách nhập ddmmyy, 231223 => 23/12/2023 nhỉ.? Mong là sẽ có cách giải thoát cho em chủ thớt! Nếu có cả công thức và VBA cho đa dạng sự lựa chọn. kkk!
Tôi trả lời câu này và cũng cho đại ý bài #23
Đọc cho kỹ phần 2 của bài #17.
Nhìn theo trước mắt thì dễ rồi. Tôi phần 2 của bài #17 là để trả lời cho bài #16, phân tích thế nào là "thực tế".
Đối với dân chuyên "triển khai đồ án/systems developing" thực tế, cái gì cũng có 3 kiểu:
1. Chỉ sơ sài; có thể chỉ vừa đúng yêu cầu thực trạng, không hẳn đã đáp ứng đủ yêu cầu bên B (nhiều trường hợp bên B, vì khong đủ kinh nghiệm cho nên có những đòi hỏi không xứng đáng đồng tiền bát gạo). không rườm rà gì thêm. Dĩ nhiên là các chọn lựa thêm thắt đều gạt ra ngoài.
2. Chỉ vừa đúng hết yêu cầu của hệ thống và hài lòng bên B (tuy rằng có thể bên B đòi những chuyện lãng nhách, chỉ chủ yếu làm dáng).
3. Bao hết các trường hợp linh tinh khác có thể xảy ra. Điều này dân viết code trên VBA rất thích; nhưng họ không có đủ kinh nghiệm về giao diện người dùng (user interface) cho nên viết những hàm/sub mà cách dùng rất phức tạp; do câu
"nên thêm tính năng này, tính năng kia". Nên nhớ rằng các hàm chính của Excel chỉ dẫn hết sức cặn kẽ mà người dùng còn lười đọc. Bảo các hàm UDF viết không có chỉ dẫn thì ai dùng? Chỉ có dân viết code trên GPE với nhau mới đọc hiểu. Người không theo trường phái code GPE như tôi, không quen cách code của GPE mỗi lần đọc một đoạn code trên 20 dòng là tóe nổ con mắt. Hàm thì tính năng đủ thứ mà chỉ dẫn thì không thấy một lời.
Trở lại ý chính của bài. Trên thực tế, việc tiết kiệm thời gian xếp hạng dưới việc nhập cho chính xác. Trừ trường hợp bị bắt buộc phải khác hoặc cần cải tiến, nhập liệu theo kiểu quen thuộc bao giờ cũng ít lỗi hơn nhiều kiểu lạ. Vì vậy, cuối bài #17 là tôi nhắc nhở rằng trên thực tế, phải xét xem người dùng còn làm những gì nữa. Ví dụ công việc người dùng có sử dụng vài phần mềm khác mà nhập bắt buộc theo dạng dd/mm/yyyy (không thay đổi được) thì thêm tính năng ddmmyyyy (sửa theo ý muốn) cho bảng tính Excel này chỉ gây nhiều lỗi thêm thôi.
Chú thích về tiết kiệm thời gian nhập liệu, và tránh lỗi:
Có một số nơi, nhất là kế toán và quản ký kho, người ta lập ra cách ghi nhật ký chung bằng quy trình nhập liệu. Ví dụ mỗi dòng:
Ngày+Mã chứng từ+Mã khách hàng+Mã đơn đặt hàng+Mã hàng+số lượng+Doanhthu (triệu)+Vat (triệu)+Diễn giải
12112023+BN0123+KH0456+DD0777+H0501+100+225,15+2,2515+Giao hàng tại kho B
Bên trong, chương trình sẽ tự tách ra:
ngày: 12-11-2023
chứng từ: BN0123
mã khách hàng: KH0456
mã đơn đặt hàng: DD0777
mã hàng: H0501
số lượng: 100
thành tiền (triệu): 225,15
thuế VAT (triệu): 2,2515
diến giải: tùy thích, thường chép lại trong biên lai thâu tiền. Trong ví dụ trên, là lời dặn khách hàng đem biên lai đến kho B để bốc hàng. (kho B sẽ đóng dấu hàng đã giao tận tay).
Những chi tiết có thể bỏ qua thì người ta để trống (hai dấu cộng liên tiếp)
Sau khi tách xong, chương trình sẽ kiểm soát sự hợp lệ của từng món và bắt gõ lại nếu sai sót.
Dĩ nhiên, nếu dùng Form thì các dấu cộng là Tab. Tuy nhiên, gặp dân giỏi thì nhập diểu dòng như trên nhanh và ít lỗi hơn Form.
Dân viết chương trình nhập liệu có kinh nghiệm còn có phần batch totals để kiểm soát sau khi đã nhập hết các biên lai. Nhưng ngày nay, người nhập liệu có kinh nghiệm sẽ tự biết bôi đen các cột và check batch totals ở dòng status.