Khi làm việc với VBA trong Excel, hầu hết chúng ta đều gặp khó khăn khi cố gắng tạo một form nhập liệu. Trong bài viết này, tôi sẽ chỉ cho bạn cách tạo form nhập liệu trong Excel một cách thuận tiện và chuyên nghiệp bằng VBA.
3 Bước đơn giản để tạo Form nhập liệu trong Excel VBA
Ở đây tôi có ba trang tính tên là Washington, New York, và California chứa tên, số điện thoại, tuổi, và giới tính của một số khách hàng tại ba chi nhánh của một ngân hàng.

Mục tiêu hôm nay là tạo một form để nhập dữ liệu vào cơ sở dữ liệu này bằng VBA.
Chúng ta sẽ thực hiện mục tiêu này trong hai bước chính.
- Trước tiên, chúng ta sẽ tạo một UserForm nhập liệu để thêm dữ liệu mới;
- Sau đó, thêm một nút bấm trên các trang tính để mở form.
Bước 1: Phát triển UserForm để tạo Form nhập liệu bằng Excel VBA
Quá trình này khá dài và có thể mất một chút thời gian để bạn nắm rõ hoàn toàn. Do đó, để đạt hiệu quả tốt nhất, hãy làm theo các bước dưới đây một cách cẩn thận và kiên nhẫn.
- Nhấn ALT + F11 trên bàn phím để mở cửa sổ Visual Basic.

- Trong cửa sổ Visual Basic, vào thanh công cụ chọn Insert > UserForm. Click vào UserForm. Một UserForm mới tên UserForm1 sẽ hiện ra.

- Kéo một Label (Label1) từ hộp công cụ vào góc trên cùng bên trái của UserForm. Thay đổi tiêu đề của Label thành Worksheet (Trang tính).
Kéo một ListBox (ListBox1) đặt bên phải Label1.
- Tiếp tục kéo thêm các Label (số lượng bằng tổng cột của tập dữ liệu, ở đây là 4) dọc bên trái UserForm. Bên cạnh mỗi Label, kéo một TextBox.
Đổi tiêu đề các Label thành tên cột của tập dữ liệu (Customer Name, Contact Address, Age, và Gender).
- Cuối cùng, kéo một CommandButton xuống góc dưới cùng bên phải của UserForm. Đổi tiêu đề nút thành Enter Data (Nhập dữ liệu).

- Double-click vào ListBox. Một private subprocedure tên ListBox1_Click sẽ mở ra. Nhập mã sau vào đó.
⧭ Mã VBA:
Private Sub ListBox1_Click()
For i = 0 To UserForm1.ListBox1.ListCount - 1
If UserForm1.ListBox1.Selected(i) = True Then
Worksheets(UserForm1.ListBox1.List(i)).Activate
End If
Next i
End Sub

- Tiếp theo, double-click vào CommandButton. Một private subprocedure tên CommandButton1_Click sẽ mở ra. Nhập mã sau vào đó.
⧭ Mã VBA:
Private Sub CommandButton1_Click()
Total_Rows = ActiveSheet.UsedRange.Rows.Count
Total_Columns = ActiveSheet.UsedRange.Columns.Count
Active_Column = 1
For Each Ctrl In UserForm1.Controls
If TypeName(Ctrl) = "TextBox" Then
ActiveSheet.UsedRange.Cells(Total_Rows + 1, Active_Column) = Ctrl.Text
Active_Column = Active_Column + 1
End If
Next Ctrl
End Sub

- Cuối cùng, vào thanh công cụ chọn Insert > Module, click vào Module.

- Một Module mới tên Module1 sẽ được chèn. Nhập mã sau vào đó:
⧭ Mã VBA:
Sub Run_UserForm()
UserForm1.Caption = "Data Entry Form"
UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle
UserForm1.ListBox1.ListStyle = fmListStyleOption
For i = 1 To Sheets.Count
UserForm1.ListBox1.AddItem Sheets(i).Name
Next i
Load UserForm1
UserForm1.Show
End Sub

Hoàn tất! Bạn đã tạo thành công form nhập liệu để thêm dữ liệu mới vào cơ sở dữ liệu.
Xem thêm: Các loại nhập liệu trong Excel (Tổng quan nhanh)
Bước 2: Chèn nút bấm để mở Form nhập liệu
Chúng ta đã tạo xong form nhập liệu bằng UserForm trong Excel VBA. Bây giờ sẽ thêm một nút bấm lên trang tính để mở form.
Làm theo các bước dưới đây:
- Mở tab Developer trên Ribbon của Excel. Tab Developer mặc định bị ẩn. Nếu không thấy, làm theo hướng dẫn này để hiển thị.

- Dưới tab Developer, mục Controls, click Insert. Kéo một Button (Form Control) ở góc trên cùng bên trái.

- Kéo nút đến vị trí mong muốn trên trang tính và thả ra. Hộp thoại Assign Macro hiện ra. Ở trường Macro name, nhập Run_UserForm.

Click OK.
- Nếu muốn, bạn có thể đổi tiêu đề nút. Tôi đổi thành Enter New Data.

Chúc mừng! Bạn đã thêm thành công nút bấm để mở form nhập liệu.
Bây giờ, bạn có thể thêm nút tương tự vào từng trang tính để quy trình chuyên nghiệp hơn.
Xem thêm: Cách tự động chèn timestamp nhập liệu trong Excel (5 phương pháp)
Bài đọc tương tự
- Cách điền dữ liệu từ Web Form vào Excel
- Tạo nhật ký dữ liệu trong Excel (2 cách phù hợp)
- Cách tạo Form điền được trong Excel (5 ví dụ phù hợp)
Bước 3: Kết quả cuối cùng – Tạo Form nhập liệu
Chúng ta đã tạo xong form nhập liệu bằng Excel VBA và thêm nút mở form. Để xem kết quả, click nút Enter New Data trên trang tính.
Form nhập liệu sẽ hiện ra. Trước hết, chọn trang tính bạn muốn nhập dữ liệu mới.
Ở đây tôi chọn New York. Ngay khi chọn, trang tính đó sẽ trở thành trang đang hoạt động.

- Điền các thông tin còn lại. Ví dụ: Jennifer Marlo, 444204240, 26, và Female.

- Click Enter Data.
Dữ liệu mới sẽ xuất hiện ở dòng cuối cùng của cơ sở dữ liệu.

Xem thêm: Cách tạo Form nhập liệu Excel không dùng UserForm
Lưu ý quan trọng
- Khi nhập dữ liệu mới, mã tuân theo thứ tự các TextBox trên UserForm. Do đó, khi thêm TextBox, hãy giữ đúng thứ tự cột trong cơ sở dữ liệu.
Kết luận
Đó là quy trình tạo form nhập liệu cho cơ sở dữ liệu bằng Excel VBA. Bạn có thắc mắc gì? Hãy để lại bình luận. Đừng quên truy cập ExcelDemy để xem thêm bài viết và cập nhật mới.
Bài viết liên quan
- Cách tạo Form tự động điền trong Excel (Hướng dẫn từng bước)
- Tạo Form nhập liệu với Drop Down List trong Excel (2 phương pháp)
- Cách tự động hóa nhập liệu trong Excel (2 cách hiệu quả)
- Giới hạn nhập liệu trong ô Excel (2 phương pháp đơn giản)