Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

Nội dung được viết bởi Ngọc Diệp

Đã bao giờ bạn muốn đơn giản hóa việc tạo danh sách trong quá trình học 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é.

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.

  1. Giảm thời gian nhập dữ liệu bằng tay.
  2. Hạn chế lỗi sai trong quá trình nhập dữ liệu.
  3. Chuyên nghiệp hóa danh sách, bảng tính Excel.
  4. Chuẩn hóa quá trình nhập dữ liệu với file được dùng chung bởi nhóm.
  5. Có khả năng tích hợp Data Validation ngay trên form nhập liệu.
  6. 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ướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

 

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

 

Nút nhập dữ liệu: Đổi tên nút bấm thành btnInsert.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

 

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.Show
End Sub
Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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é.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

Như bạn thấy, VBA thật tuyệt vời để tự động hóa các thao tác trong Excel. Nếu bạn muốn học VBA thì có thể tham khảo các học sau tại Gitiho:

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

Để 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
Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

Đó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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA 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
Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

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.

Hướng dẫn chi tiết các bước tạo form nhập liệu bằng VBA Excel

Xem thêm:

2 Cách xóa công thức, giữ nguyên giá trị Excel

 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 tin học văn phòng này thành công!

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu biết thêm về VBA sẽ giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,…

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập trong khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho

Hãy nhấn vào Học thử hoặc Đăng ký ngay!

/5 - ( bình chọn)

/5 - ( bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông