Cách Tạo Form Nhập Dữ Liệu Tự Động Trong Excel

Nếu các bạn đã từng sử dụng Access để xây dựng 1 CSDL (Cơ sở dữ liệu) hẳn các bạn đã từng sử dụng Form trong Access để nhập liệu nhanh và giao diện nhập liệu trực quan. Tương tự như vậy, ta cũng sẽ có cách để nhập liệu trong Excel tương tự với Access so với cách truyền thống nhập cho từng ô. Bài viết sẽ hướng dẫn các bạn tạo Form trong Excel để nhập liệu tự động đơn giản nhất.

Cách tạo các điều kiện ban đầu cho Form nhập liệu

Đầu tiên các bạn hãy vào link sau để tải file Excel về thực hành: 

  1. Tải File code VBA FORM 
  2. Tải File Code VBA

Video hướng dẫn chi tiết

Để bắt đầu thực hành các bạn mở file Excel vừa tải về nó sẽ có 3 sheet cụ thể như sau:

sheet Form

sheet Danh Sach

sheet Dữ liệu

Chú ý:

+) Nếu các bạn tạo mới thì nhớ lưu file với đuôi là .xlsb còn nếu lưu file bình thường với đuôi .xls thì sẽ mất code VBA (các bạn sẽ phải code lại).

+) Vào menu File -> Options -> Customize Ribbon -> Customize the Ribbon -> Developer -> OK để mở chế độ VBA.  

Tiếp theo, các bạn vào sheet danh sách. Ở ô C1C2 các bạn gộp vào (click vào Merge & Center để gộp) và gõ "số thí sinh", còn ô D1D2 gộp lại và gõ =COUNTA(B:B)-1 vì dùng để đếm số thí sinh, B:B là chọn hết cột B.

hàm đếm số thí sinh

Các bạn mở lại sheet Form và kẻ khung viền cho bảng. Tiếp theo các bạn sẽ gõ hàm =ISBLANK(C4) ở ô E4 để kiểm tra xem ô C4 đã nhập gì chưa. Hàm trả về TRUE nếu chưa nhập dữ liệu, FALSE nếu đã nhập dữ liệu rồi.

tạo khung viền cho Form

hàm isblank kiểm tra xem họ và tên nhập chưa

Tiếp tục: 
+) trong ô E5, gõ =LEN(C5)<10 để tạo điều kiện nhập số điện thoại >= 10 chữ số.

hàm LEN để giới hạn độ dài SĐT

+) trong ô E6, gõ =ISNUMBER(C6)=FALSE tạo điều kiện nhập năm sinh với giá trị TRUE khi chưa nhập.

hàm ISNUMBER tạo điều kiện năm sinh

+) trong ô E7, gõ =OR(ISERROR(FIND("@",C7)),ISERROR(FIND(".",C7)),ISERROR(FIND(" ",C7))=FALSE), tuỳ khá dài nhưng nó tạo điều kiện là nhập vào email ở ô C7 không có dấu cách trong tên email, phải có "@" và ".".

hàm OR này dùng để tạo các điều kiện cho email nhập vào

+) để tạo list trong mục Trình độ, các bạn click vào ô C8 - trong menu Data -> Data Validation. Trong mục Allow -> List, còn trong mục Source, các bạn vào sheet dữ liệu trong cột Trình độ chọn hết dữ liệu từ B4 đến B7.

kiểm tra Trình độ đã tích hay chưa

+) các mục  Kinh nghiệm, Vị trí ứng tuyển các bạn làm tương tự. Có mũi tên như trong hình tức đã làm đúng.

tạo list sổ xuống Trình độ

+) còn mục Kỹ năng, trong ô C11 các bạn vào menu Developer -> Insert -> Checkbox (Form Control). Rồi các bạn vẽ ra 1 Checkbox và nhấn Ctrl+D để có 3 Checkbox và sửa tên như hình dưới (click phải chuột vào Checkbox -> Edit Text).

mục Kỹ năng với Checkbox

+) còn mục Giới tính thì các bạn vào menu Developer -> Insert -> Option Button (Form Control). Làm tương tụ như Kỹ năng.

mục giới tính với Checkbox

Sau khi thực hiện xong các bước trên, ta cần list Trình độ ra. Các bạn gõ các mục Excel, English, Word lần lượt vào các ô H1 I1 J1 và trở lại mục Kỹ năng click phải chuột vào Checkbox Excel và chọn Format Control. Rồi thực hiện các bước như 3 hình dưới.

cell link Trình độ

Format control

hộp thoại Format control

Khi các bạn click vào ô Excel thì khi click ô Control thì hiện TRUE, không click hiện FALSE.

kiểm tra cell link Trình độ

Trong ô H3, các bạn gõ =COUNTIF(H2,TRUE) và làm tương tự như các ô English - Word. Nó sẽ trả về 1 nếu ô phía trên là TRUE và ngược lại. Hàm này đổi về 1 và 0 của TRUEFALSE để dễ code VBA.

hàm countif để đổi TRUE FALSE về 1 và 0

Đối với mục Giới tính, các bạn chọn 1 ô (ô G8 chẳng hạn) rồi gõ "Giới tính" và click chuột phải vào Checkbox Nam -> Format Control. Trong ô Cell link chọn ô C12 (có chứa Checkbox). Nam = 1 và Nữ = 2.

Gán trị số giới tính NAM NỮ

Trong ô H8, các bạn gõ =IF(C12=1,"Nam","Nữ") , bước này dùng để gán Nam - Nữ vào sheet Danh Sách.

Gán NAM NỮ với giá trị 0 và 1

Ngoài ra, các thí sinh trong File Excel không thể có email giống nhau được. Trong ô F7, gõ =COUNTIF('Danh Sách'IE:E,C7), trong đó cụm 'Danh Sách'IE:E là cột Địa chỉ email trong sheet Danh Sách.

cột Địa chỉ email

kiểm tra có bị trùng email hay không

Cách tạo các liên kết giữa các sheet để nhập liệu

Trong mục này, các bạn tạo 1 Shape làm nút Cập nhật dữ liệu (vào menu Insert -> Shapes) vào sheet Danh Sach.

tạo nút cập nhật thông tin thí sinh vào sheet Danh Sach

Tiếp theo,các bạn nhấn Alt+F11 để mở VBA lên và tạo Module1 trong sheet1 (Form) và gõ các đoạn code sau cho chính xác:

tạo module1

Code VBA

Code VBA bổ sung thêm

Sau khi gõ code VBA xong ra màn hình chính Excel, click phải chuột vào nút Cập nhật dữ liệu và chọn Assign Macro -> nhập liệu -> OK.

Assign macro

Để thay các giá trị số 1 và 0 trong Trình Độ, các bạn bôi đen nguyên cụm cột Trình Độ rồi vào menu Home -> Conditional Formatting. Hộp thoại New Formatting Rule, trong Format Style -> Icon Sets và cài đặt giống trong hình dưới:

thay 1 và 0 bằng icon

Hộp thoại New Formatting Rule

kết quả icon

Cuối cùng, để tạo liên kết giữa các sheet qua Button, các bạn tạo các Shape tương tự như hình vẽ. Sau đó click phải chuột vào hình Shape -> Hyper Link và chọn đúng sheet muốn liên kết. Tương tự với liên kết từ sheet Danh Sách và sheet Dữ liệu liên kết ngược lại với Form.

tạo nút danh sách và nút dữ liệu

Insert Hyperlink

nút trở về Form

Cách sử dụng Form vừa tạo

Các bạn nhập liệu bình thường và di chuyển qua lại giữa các sheet. Từ bài thực hành này, các bạn tự sáng tạo thêm các Form phục vụ công việc của mình.

test Form

Chúc các bạn thành công!!!

CHO ĐIỂM BÀI VIẾT NÀY

vote data

Bình luận bài viết

0989.717.035
ZALO CHAT
TOP