Đã bao giờ bạn muốn đơn giản hóa việc tạo danh sách trong Excel bằng một form nhập liệu tự động chưa? Nếu bạn chưa biết cách làm thì hãy để Gitiho hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel nhé.
Xem thêm: VBA trong Excel: Những điều cần biết và hướng dẫn sử dụng
Contents
Công dụng của việc tạo form nhập liệu bằng VBA Excel
Ứng dụng VBA trong Excel đang ngày càng trở nên phổ biến vì những lợi ích tuyệt vời mà nó mang lại cho người dùng. Một trong những tính năng tiện lợi nhất chính là tạo form nhập liệu bằng VBA, cụ thể là Userform trong Excel. Vậy tính năng này giúp ích thế nào cho người dùng? Dưới đây, chúng mình đã liệu kê cho bạn một số ưu điểm của tính năng này.
- Giảm thời gian nhập dữ liệu bằng tay.
- Hạn chế lỗi sai trong quá trình nhập dữ liệu.
- Chuyên nghiệp hóa danh sách, bảng tính Excel.
- Chuẩn hóa quá trình nhập dữ liệu với file được dùng chung bởi nhóm.
- Có khả năng tích hợp Data Validation ngay trên form nhập liệu.
- Form nhập liệu nâng cao dễ dàng tương tác với bảng tính và dữ liệu trên bảng tính.
Xem thêm: Tìm hiểu về cách tự tạo hàm Excel trong VBA
Các bước tạo form nhập liệu bằng VBA Excel
Chúng ta có một danh sách bao gồm 3 cột: Họ và tên, Email, Số điện thoại như hình. Để đơn giản hóa quá trình nhập liệu, chúng ta cần tạo form nhập liệu bằng VBA.
Hãy cùng tìm hiểu chi tiết cách tạo Userform trong Excel nào.
Xem thêm: Hướng dẫn cách chạy file Macro, file VBA đuôi xlsm trong Excel
Các bước tạo form nhập liệu bằng VBA: Tạo UserForm trong Excel
Tạo đề mục cho UserForm trong Excel
Đầu tiên, chúng ta sẽ mở cửa sổ VBA Excel để tiến hành tạo form nhập liệu bằng VBA. Bạn có thể thực hiện bước này bằng cách vào tab Developer > nhóm Code > Visual Basic.
Chúng ta sẽ tạo Module mới bằng cách nhấn chuột phải tại Sheet1 > Insert > Module. Module này đóng vai trò là cửa sổ viết code của chúng ta.
Tiếp theo, chúng ta tạo một form nhập liệu bằng VBA bằng cách nhấn chuột phải tại Sheet1 > Insert > UserForm.
Như vậy, chúng ta đã có đầy đủ 2 bảng cần dùng. Chúng ta sẽ bắt đầu thao tác trên Userform trong Excel. Tại hộp thoại Toolbox xuất hiện cùng UserForm, chúng ta sẽ tạo các đề mục bằng cách nhấn vào biểu tượng đề mục (label) và kéo vẽ một đề mục trong form dữ liệu. Tên mặc định hiển thị của đề mục là Label1, chúng ta hãy đổi thành Họ và tên.
Font chữ và kích cỡ chữ mặc định có vẻ quá bé đúng không nào? Để chỉnh sửa hiển thị đề mục này, chúng ta hãy để ý sang cửa sổ Properties – Sheet 1 bên trái màn hình. Kéo xuống một chút, nhấn vào dấu … tại mục Font để sửa đổi font, hiệu ứng chữ và kích cỡ chữ theo ý muốn của bạn.
Xem thêm: Kỹ thuật định dạng font chữ cơ bản và nâng cao trong Excel
Vậy là chúng ta đã hoàn thành đề mục Họ và tên cho Userform trong Excel. Để tạo tất cả các đề mục, chúng ta không cần lặp lại các bước trên mà đơn giản chỉ cần Copy Paste đề mục Họ và tên rồi tiến hành đổi tên đề mục lần lượt thành Email và Số điện thoại.
Có thể các bạn sẽ muốn chiều ngang các ô đề mục hiển thị bằng nhau. Trong trường hợp này, các bạn hãy chọn tất cả đề mục, nhấn chuột phải > Make Same Size > Width. Các đề mục tại UserForm trong Excel sẽ được co dãn về cùng chiều ngang.
Tạo ô nhập liệu cho UserForm trong Excel
Tương tự với các bước tạo đề mục, ở phần này, chúng ta tìm hiểu cách tạo ô nhập liệu cho Userform trong Excel. Hãy nhấn vào biểu tượng TextBox trong hộp thoại Toolbox để tạo form nhập liệu bằng VBA.
Xem thêm: Thư viện mã VBA trong Excel hữu ích cho người mới bắt đầu (phần 1)
Sau đó, hãy thực hiện Copy Paste để tạo thêm 2 ô nhập liệu cho 2 đề mục còn lại. Trong trường hợp các ô có chiều rộng không đều, chúng ta có thể chọn tất cả các ô, nhấn chuột phải > Make Same Size > Width như ở phần trên để đưa các ô về cùng một chiều rộng.
Tạo nút xác nhận cho UserForm trong Excel
Bước tiếp theo để tạo form nhập liệu bằng VBA là tạo nút xác nhận sau khi chúng ta điền thông tin vào ô nhập liệu. Tại hộp thoại Toolbox, hãy nhấn vào biểu tượng CommandButton và vẽ nút xác nhận tại cửa sổ Userform trong Excel. Một nút bấm được tạo, thay đổi tên nút thành Nhập dữ liệu.
Xem thêm: Hướng dẫn cách tùy biến comment trong Excel bằng VBA (Phần 2)
Để thao tác thuận lợi với code VBA, chúng ta hãy đổi tên của các vật thể tại Userform trong Excel tương ứng với loại vật thể. Ngay dòng đầu của phần Properties – Sheet 1 là nơi chúng ta đổi tên vật thể để đơn giản hóa quá trình tạo form nhập liệu bằng VBA.
- Ô nhập liệu: Đổi tên ô nhập liệu lần lượt thành txtName, txtEmail và txtMobile.
- Nút nhập dữ liệu: Đổi tên nút bấm thành btnInsert.
Vậy là giao diện Userform trong Excel đã sẵn sàng để sử dụng. Tuy nhiên, chúng ta mới chỉ hoàn thành phần hiển thị của form nhập liệu thôi. Cùng tìm hiểu tiếp cách thiết lập phần nội dung của form nào.
Xem thêm: Cách tìm kiếm dữ liệu Excel bằng công cụ Find & Select và VBA
Các bước tạo form nhập liệu bằng VBA: Tạo code VBA
Không có code VBA, chúng ta sẽ không thể khiến Userform trong Excel hoạt động trơn tru. Chính vì vậy, đây là bước vô cùng quan trọng để tạo form nhập liệu bằng VBA. Hãy cùng tìm hiểu các thao tác Excel trong phần này nhé.
Code VBA để hiển thị Userform trong Excel
Hãy bắt đầu bằng code VBA giúp Excel hiển thị Userform sau khi ấn vào nút mở. Tại trang Module tạo từ bước đầu, chúng ta sẽ nhập vào các dòng code sau:
Sub open_form() UserForm1.ShowEnd Sub
Code đầu tiên rất đơn giản phải không nào? Giờ thì hãy thử xem code VBA này có hoạt động không nhé. Hãy tạo một hình vuông bên ngoài trang tính Excel ngay bên cạnh danh sách, điền vào đó câu lệnh “Mở form nhập liệu”. Sau đó nhấn chuột phải > Assign Macro để ghép code VBA vào trong hình.
Hộp thoại Assign Macro hiện lên. Bấm chọn open_form và nhấn OK.
Lệnh mở Userform trong Excel đã được thêm vào ô hình. Hãy ấn vào ô để xem điều kì diệu nhé.
Code VBA nhập dữ liệu từ form nhập liệu vào bảng tính Excel
Chúng ta tiếp tục với code VBA chuyển dữ liệu từ form nhập liệu vào các ô trong danh sách. Lần này, hãy mở cửa sổ Userform trong Excel và nhấn đúp vào nút Nhập dữ liệu.
Cửa sổ code của nút Nhập dữ liệu hiện ra như trong hình.
Để tạo form nhập liệu bằng VBA có thể chuyển dữ liệu được nhập sang vị trí tương ứng trong danh sách, chúng ta cần nhập code sau đây:
Private Sub btnInsert_Click() Dim dong_cuoi As Long dong_cuoi = Sheet1.Range(“A10000”).End(xlUp).Row + 1 With Sheet1 .Range(“A” & dong_cuoi) = txtName.Text .Range(“B” & dong_cuoi) = txtEmail.Text .Range(“C” & dong_cuoi) = txtMobile.Text End WithEnd Sub
Đóng cửa sổ VBA và cùng kiểm tra kết quả hoạt động của code VBA nào. Hãy nhập đầy đủ dữ liệu vào các ô và nhấn nút Nhập dữ liệu.
Xem thêm: Hướng dẫn cách tìm dòng cuối trong VBA cho dữ liệu bảng Excel
Code VBA để nhập lại dữ liệu mới trong form nhập liệu
Sau khi tạo form nhập liệu bằng VBA, có thể bạn sẽ nhận ra form chưa hoàn chỉnh vì chúng ta cần xóa tay các giá trị trong ô nhập liệu để điền được giá trị mới. Để khắc phục điều này, chúng ta hãy tạo thêm một nút Nhập lại để Excel tự động xóa dữ liệu cũ tại Userform trong Excel.
Nhấn đúp vào nút Nhập lại để viết code VBA cho thao tác xóa dữ liệu. Hãy nhập vào cửa sổ code sau đây:
Private Sub btnReset_Click() txtName.Text = “” txtEmail.Text = “” txtMobile.Text = “”End Sub
Vậy là Userform trong Excel đã sẵn sàng để thao tác. Cùng kiểm tra kết quả tạo form nhập liệu bằng VBA với chúng mình nào.
Xem thêm: Hướng dẫn cách tạo tham chiếu trong Excel bằng lệnh VBA
Tổng kết
Các bạn vừa cùng Gitiho tìm hiểu các bước chi tiết để tạo form nhập liệu bằng VBA. Với tính năng Userform trong Excel, việc nhập liệu của chúng ta sẽ trở nên đơn giản hơn rất nhiều.
Chúc các bạn áp dụng thủ thuật thành công!