Sau đây chúng ta cùng tìm hiểu nội dung của phần 2 qua bài tập sau:
Cho bảng dữ liệu về Danh sách nhân viên như hình bên dưới:
Xem nhanh
Yêu cầu
Tạo nút lệnh Lưu để lưu nội dung của các ô B3, B5, D3, D5 vào các cột tương ứng trong bảng danh sách
Kết hợp việc khóa sheet để không cho phép tự ý thay đổi nội dung trong bảng
Cách làm
Đây là dạng bài tập cơ bản về việc lưu dữ liệu từ Form nhập liệu vào vị trí xác định trong Sheet.
Ở đây vùng A3:D5 chính là Form nhập liệu. Form này gắn trực tiếp trên Sheet chứ không phải UserForm trong VBA.
1. Phân tích yêu cầu bài toán
Cho phép nhập dữ liệu vào các ô B3, B5, D3, D5 khi sheet đang khóa
Trước khi lưu cần mở khóa Sheet để có thể lưu nội dung vào bảng được
Lưu dữ liệu tương ứng theo các nội dung: Từ ô B3 lưu vào cột Mã nhân viên, ô B5 lưu vào cột Họ tên… vị trí lưu sẽ là dòng trống tiếp theo trong bảng danh sách bên dưới.
Sau khi lưu xong nội dung thì khóa sheet lại để không cho phép tự ý thay đổi nội dung trong bảng.
2. Tạo lệnh Lưu trong cửa sổ VBA
Mở cửa sổ VBA, trong Module1 tạo 1 Sub có tên là Lenh_Luu
Ghi chú trình tự nội dung sẽ thực hiện như sau:
Chúng ta có thể thấy một số nội dung tương tự đã tìm hiểu ở bài trước. Trong bài này chúng ta sẽ tìm hiểu thêm những nội dung mới:
Tìm dòng trống tiếp theo trong bảng danh sách => Chính là tìm vị trí dòng cuối cùng có chứa dữ liệu
Lưu nội dung vào các cột tương ứng theo từng nội dung
Làm mới nội dung => Thực hiện lệnh Tạo mới
Thông báo hoàn thành
Chúng ta cùng xem nội dung cụ thể của từng dòng lệnh:
Chú ý:
Dòng lệnh Tìm dòng cuối sẽ là tìm dòng cuối cùng trong bảng danh sách có chứa dữ liệu, sau đó sẽ cộng thêm 1 dòng để dòng cuối này là dòng trống => Tại dòng này sẽ thêm dữ liệu
Khi lưu nội dung vào các cột thì lưu ý từng cột ứng với từng vị trí ô nhập dữ liệu => Cần ghi chú để xác định rõ
Sau khi thêm nội dung vào bảng danh sách => Cần xóa nội dung đã nhập ở vùng nhập dữ liệu => Có thể nhập mới nội dung tiếp theo được ngay
Có thông báo hoàn thành để khi thực hiện 1 lệnh nhiều thao tác thì chúng ta cần biết khi nào hoàn thành toàn bộ các thao tác.
3. Gán Macro vào nút lệnh và kiểm tra lệnh
Sau khi hoàn thành Sub Lenh_Luu, chúng ta gán Macro vào nút Lưu trên sheet bằng chức năng Assign Macro (tương tự với bài trước)
Chúng ta có thể thử nhập dữ liệu và chạy lệnh Lưu để kiểm tra xem lệnh này chạy đúng chưa nhé.
Và đây là kết quả:
Ở dòng 12 chúng ta đã thêm mới nhân viên có Mã NV005, tên là Test => Thông báo hoàn thành thao tác, các nội dung đã vào đúng vị trí mong muốn.
Chúc các bạn thành công!
Đón xem bài sau: Phần 3: Lấy thông tin bất kỳ trong bảng danh sách vào form