Dưới đây là hướng dẫn chi tiết cách tạo Form nhập dữ liệu tự động trong Excel bằng VBA dựa trên nguồn tham khảo bạn cung cấp. Phương pháp này giúp chuẩn hóa dữ liệu, tránh nhập sai định dạng và tự động hóa việc lưu trữ.
1. Chuẩn bị bảng dữ liệu (Sheet Excel)
Bạn cần tạo ít nhất 3 Sheets:
Sheet Form: Nơi thiết kế giao diện nhập liệu (Tên, Số điện thoại, Email, Trình độ...).
Sheet Danh sách: Nơi lưu trữ dữ liệu sau khi nhấn nút "Cập nhật".
Sheet Dữ liệu: Chứa các danh mục bổ trợ (như danh sách trình độ, vị trí ứng tuyển) để làm Drop-down list.
Lưu ý quan trọng: Để chạy được VBA, bạn phải lưu file dưới định dạng Excel Macro-Enabled Workbook (.xlsm) hoặc Excel Binary Workbook (.xlsb) [00:03:44].
2. Thiết kế giao diện và Ràng buộc dữ liệu (Data Validation)
Trước khi viết Code, hãy sử dụng các công cụ có sẵn của Excel để kiểm soát dữ liệu đầu vào:
Drop-down list: Sử dụng
Data>Data Validationđể tạo danh sách chọn cho các ô như Trình độ, Kinh nghiệm [00:08:35].Checkboxes/Option Buttons: Vào thẻ
Developer>Insertđể thêm các nút chọn giới tính hoặc kỹ năng [00:09:47].Mẹo: Chuột phải vào nút chọn >
Format Control>Cell linkđể liên kết giá trị của nút đó với một ô trên Sheet (trả về giá trị TRUE/FALSE hoặc 1, 2) [00:11:58].
Hàm kiểm tra: Sử dụng các hàm như
ISBLANK,ISNUMBER,FINDtại các ô phụ để kiểm tra xem người dùng đã nhập đúng tên, số điện thoại hay email (có chứa dấu "@" và ".") chưa [00:05:35].
3. Viết Code VBA để tự động hóa
Nhấn Alt + F11 để mở cửa sổ VBA, chọn Insert > Module và nhập đoạn mã xử lý chính [00:15:40]. Cấu trúc code bao gồm:
A. Khai báo biến và thiết lập Sheet:
Sub NhapLieu()
Dim f As Worksheet, ds As Worksheet
Set f = ThisWorkbook.Sheets("Form")
Set ds = ThisWorkbook.Sheets("Danh sach")
' Xác định dòng cuối cùng để chèn dữ liệu mới
HangCuoi = ds.Range("D1").Value + 4 '[00:23:24]
B. Kiểm tra điều kiện nhập liệu (Validation):
Sử dụng cấu trúc If...Then để hiện thông báo nếu người dùng bỏ trống hoặc nhập sai [00:18:14]:
If f.Range("E4").Value = True Then ' Ô E4 là ô chứa hàm kiểm tra lỗi
MsgBox "Bạn chưa nhập tên thí sinh!"
Exit Sub
End If
C. Copy dữ liệu từ Form sang Danh sách:
Gán giá trị từ các ô ở Sheet Form vào dòng tiếp theo của Sheet Danh sách [00:24:12]:
ds.Range("B" & HangCuoi).Value = f.Range("C4").Value ' Copy Tên
ds.Range("C" & HangCuoi).Value = f.Range("C5").Value ' Copy Số ĐT
' Tiếp tục cho đến hết các trường dữ liệu...
D. Xóa dữ liệu cũ sau khi nhập:
Sau khi lưu thành công, dùng lệnh ClearContents để làm trống Form cho lần nhập sau [00:28:12]:
f.Range("C4:C10").ClearContents
End Sub
4. Tạo nút bấm và Hoàn thiện
Tạo nút bấm: Vẽ một hình khối (Shape) trên Sheet Form, chuột phải chọn Assign Macro và chọn Sub
NhapLieuvừa viết [00:19:05].Tạo Hyperlink: Sử dụng tính năng
Linkđể tạo các nút chuyển nhanh giữa Sheet Form và Sheet Danh sách [00:32:00].Định dạng Icon: Bạn có thể dùng
Conditional Formatting>Icon Setsđể biến các giá trị TRUE/FALSE (kỹ năng) thành dấu tích (v) xanh cho đẹp mắt [00:30:36].
Kết quả: Mỗi khi bạn điền thông tin và nhấn nút, dữ liệu sẽ tự động "nhảy" sang sheet lưu trữ, Form được làm trống và sẵn sàng cho người tiếp theo [00:33:51].

Phương pháp này giúp chuẩn hóa dữ liệu, tránh nhập sai định dạng và tự động hóa việc lưu trữ.
Trả lờiXóa