1. Bạn đã chạy thử code của mình chưa hay bạn nghĩ là nó sẽ không có lỗi?
2. Cái thứ nhất là bạn ăn gian. Tôi làm code hủy các object tường minh. Và nữa, code của tôi không cần chỉnh sửa khi thêm button, bạn nhập cứng nhắc 30.
Tất nhiên người ta nói là 30 button chạy cùng 1 macro Chonso nhưng tôi hiểu là tùy theo nhấn nút nào mà code còn làm thêm một việc gì đó. Nếu 30 button đều chỉ làm Y HỆT một việc là gọn Chonso thì tạ̣o 30 buton để làm gì? Tôi không cho là người ta điên và dốt đến mức như thế. Người ta diễn đạt nhưng mình cũng nên hiểu người ta định làm gì. Có rất nhiều người mô tả rất qua loa.
3. Ngoài ra có một vấn đề tôi đã nói cách đây mấy năm. Có nhiều trường phái khi dùng class. Tôi theo trường phái là mọi dữ liệu của class đều
PRIVATE, truy cập tới các trường đó thông qua các thuộc tính và phương thức của class. Bạn dùng
PUBLIC.
Tôi đã nói rõ quan điểm của mình
9 năm 7 tháng trước. Và tôi luôn làm làm class với phong cách của mình
Bài I: Chuyển dữ liệu từ 1 bảng tổng hợp Số liệu ban đầu như sau: |A|B 1|Project1|Item01, Item03, Item08, Item09 2|Project2|Item10, Item30, Item80, Item90 (Bảng 1) Giờ muốn có 1 macro để chuyển bảng dữ liệu này thành bảng sau: |D|E 1|Project1|Item01 2|Project1|Item03...
www.giaiphapexcel.com
View attachment 280549
Tôi muốn tạo class, code bài bản chứ không muốn tạo code ngắn để thi thố. Có những cái bạn cho là "râu ria", bạn bỏ qua để thắc mắc với tôi. Để làm gì? Tôi luôn cho là dữ liệu của người hỏi luôn là dữ liệu ví dụ, thực tế có thể khác. Nếu tôi cũng viết code cho 30 commandbutton thì chắc chắn code sẽ ngắn hơn. Nếu tôi không viết code hủy các control thì code cũng ngắn hơn. Nếu tôi không viết class bài bản thì code cũng ngắn hơn.
Tôi luôn cố viết code để giải quyết vấn đề của chủ thớt, nhưng sao cho nó tổng quát, linh động, và nếu có thể thì bài bản.
Nếu bạn viết thêm code hủy các object tường minh, và sao cho không cần chỉnh sửa code khi thêm button. Lúc đó xem code còn ngắn như bây giờ nữa không. Và nên biết là tôi tạo class bài bản, còn bạn thì không.
Bạn hỏi nên tôi trả lời thôi. Tôi không có gì để hỏi lại bạn. Tôi cũng không muốn tranh luận. Ai có giải pháp khác, hoặc hay hơn thì trực tiếp nói chuyện với chủ thớt nhé.