VBA Excel (Bài 50): Tạo FORMDATA trong Excel

Trong Excel, nhiều khi bạn cần nhập dữ liệu, sau đó muốn đưa dữ liệu đó vào trong một bảng. Người ta gọi việc đó là tạo FormData, dữ liệu nhập trên một Form định sẵn, dữ liệu nhập vào Form sẽ được Save ở một nơi nào đó. Nói chung Excel cũng hỗ trợ việc đó, tuy nhiên khá nghèo nàn. Mà bạn muốn thoát khỏi sự nghèo nàn đó thì phải dùng đến VBA. VBA thì lại quá sức đối với bạn, bởi các câu lệnh, các quan hệ phức tạp… Bài viết này sẽ giúp bạn tạo FormData một cách dễ dàng, nhanh chóng, hầu như không phải viết code, với các đặc điểm nổi bật:

+Viết code rất ít, hầu như chỉ có công thức và công thức, những thứ bạn rất thành thạo.

+ Áp dụng được cho mọi loại bảng dữ liệu của bạn.

+ Tái sử dụng đượcc nhiều lần.

1. TẠO FORMDATA BAN ĐẦU.

Ở bước này bạn tạo một Form nhập liệu như bình thường, ở đây mình là cho nó giống với một cửa sổ Window. Form của bạn có thể là tùy thích, dạng bảng, dạng các ô phân tán. Sau đó thiết kế bảng dữ liệu, nơi dữ liệu của Form sẽ được lưu. Form của mình có 5 tham số, bảng dữ liệu sẽ có 8 cột.

2. TẠO MỘT BẢNG SETTING.

Mỗi một FormData sẽ cần có một bảng setting, bảng này sẽ chứa các công thức, nơi bạn dành nhiều thời gian nhất để xây dựng. Nó gồm hai dòng, số cột thì nhiều hơn 1 cột so với số cột trong bảng dữ liệu. Ở đây bảng dữ liệu có 8 cột, vậy nó sẽ là 9 cột, mình đặt tên bảng này một cái Name là “BangSetting”.

3. THÊM CODE VÀ EDIT CODE VBA.

+ Đầu tiên các bạn tải module mFormData về máy, và import nó vào trong VBA.

+ Sau đó chèn thêm một module mới.

+ Ứng với một FormData bạn tạo một Sub Vba như trên hình. Bạn có thể copy cho nhanh, chúng chỉ khác nhau ở “BangSetting”, đó là tên của bảng setting mà liên kết với FormData của bạn.

+ Sau đó gắn macro cho nút bấm “Thêm” vào sub này.

4. THIẾT LÂP BẢNG SETTING.

Tạo liên kết bảng dữ liệu với bảng setting:

+Tại ô đầu tiên của bảng setting, bạn gõ công thức =XXX, với XXX chính là địa chỉ của hàng dữ liệu cuối cùng của bảng dữ liệu.

Tạo thông báo:

+ Các ô của hàng thứ 2 trong bảng setting bạn nhận các công thức dùng để kiểm tra dữ liệu.Các công thức này bạn dùng để kiểm tra tính hợp lệ của dữ liệu trong Form. “” có nghĩa là ok.

Tạo liên kết dữ liệu:

+ Mỗi khi nhấn nút “Thêm”, giá trị công thức của ô thứ (1,x) bảng setting sẽ được ghi vào một hàng mới của bảng dữ liệu tại vị trí (*,x-1), x>1.

Cơ chế hoạt động:

+ Mỗi khi người dùng nhấn nút “Thêm”, Excel kiểm tra giá trị của các ô nằm ở hàng 2 của bảng setting. Nếu có một ô có nội dung khác rỗng, một thông báo sẽ xuất hiện để hỏi người dùng có tiếp tục lưu dữ liệu nữa hay không? Sau đó nó sẽ thêm các hàng mới vào trong bảng dữ liệu, và copy các giá trị tương ứng ở bảng setting vào các dòng mới này. Tạo ra hành động lưu dữ liệu.