
Hướng dẫn cách tạo SheetForm Phiếu thu, Phiếu chi trên Excel VBA – Phần 4
Chào các bạn,
Khi sử dụng VBA trong excel , chúng ta thường nghĩ tới việc sử dụng userform để tạo form nhập dữ liệu. Nhưng việc thiết lập userform thường khá phức tạp và sử dụng nhiều code. Đối với những bạn mới tiếp cận về VBA thì việc sử dụng userform gặp nhiều khó khăn.
Trong bài viết này mình sẽ hướng dẫn các bạn cách sử dụng SheetForm (form tạo trên Sheet) để sử dụng tương tự như userform. Phạm vi bài viết gồm:
- Bài 1: Xây dựng cấu trúc SheetForm
- Bài 2: Viết Code VBA cho thao tác Mở và Đóng SheetForm
- Bài 3: Viết Code VBA cho thao tác Làm mới SheetForm
- Bài 4: Viết Code VBA cho thao tác Lưu SheetForm
- Bài 5: Bẫy lỗi trong SheetForm và đánh giá về phương pháp này
Xem nhanh
Bài 4: Viết Code VBA cho thao tác Lưu SheetForm
Tạo nút lệnh
Chúng ta vẽ 1 nút lệnh có tên Lưu trong sheet Phieu_thu (để tìm hiểu chi tiết cách vẽ vui lòng xem ở bài 2)
Xây dựng quy trình
Khi lưu phiếu, từng nội dung của phiếu sẽ được đưa vào đúng vị trí của từng cột trong phần Bảng kê
Phiếu tiếp theo sẽ được lưu vào dòng tiếp theo so với dòng cuối cùng đang chứa dữ liệu trong Bảng kê.
Xem ngay: Lớp học Excel ở Hà Nội
Xử lý dữ liệu trước khi lưu
Để thực hiện quy trình trên được dễ đàng, chúng ta có thể tạo 1 bước xử lý dữ liệu trước khi lưu như sau:
- Tại Sheet Điều kiện, nhập lại phần tiêu đề của các cột trong Bảng kê
- Đưa nội dung phiếu thu vào từng cột tương ứng trong sheet Điều kiện
Ở cột Loại, với loại phiếu là Phiếu thu, chúng ta có thể nhập trực tiếp loại là “Thu”
Những cột khác: lấy tương ứng nội dung ở sheet Phieu_thu
Chúng ta hình dung với thao tác xử lý này, việc lưu dữ liệu sẽ diễn ra như sau:
Viết Code VBA Lưu SheetForm
Mở cửa sổ VBA (phím tắt Alt + F11), tạo 1 Sub có tên là Luu_Phieu_Thu
Nội dung của Sub được biểu diễn như sau:
Dòng lệnh tìm dòng cuối của bảng dữ liệu là dòng lệnh cơ bản nhất khi chúng ta làm việc với VBA.
Sheet1.Cells(Rows.Count, 1) : lưu ý số 1 ở đây là nói tới vị trí cột cần xác định dòng cuối trong bảng. Ở đây sử dụng cột A nên dùng số 1
Sheet1.Range(“A” & DongCuoi & “:” & “G” & DongCuoi) được hiểu là vùng dữ liệu được lấy nội dung. Phần này chính là dòng cuối của bảng dữ liệu, tính từ cột A tới cột G
Sheet3.Range(“E4:K4”) là vùng dữ liệu trong sheet Điều kiện dùng để lưu vào Bảng kê (đã làm ở bước phân tích dữ liệu).
Gán lệnh Macrro vào nút lệnh Lưu
Chọn chức năng Assign Macro cho nút lệnh Lưu, chọn macro Luu_Phieu_Thu
Bây giờ chúng ta thử nhập dữ liệu và bấm lệnh lưu xem sao nhé.
Câu hỏi sau bài học
- Làm thế nào để kiểm tra xem phiếu đã được lưu trước đó chưa?
- Làm thế nào để yêu cầu nhập đủ hết nội dung của phiếu thu mới cho lưu phiếu.
Bài học đến đây là hết.
Cảm ơn các bạn đã chú ý theo dõi và luôn đồng hành cùng Blog Học Excel Online.!
Xem thêm: học Excel kế toán
© document.currentScript.insertAdjacentHTML(‘afterend’, ” + new Intl.DateTimeFormat(document.documentElement.lang, {year: ‘numeric’}).format() + ”); Học Excel Online. All rights reserved.
Leave a Reply