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:
Xem nhanh
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)
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
Để 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:
Ở 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:
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).
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é.
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