Hướng dẫn tạo Form nhập liệu trên Excel {ĐẶC BIỆT} – VBA 28



Hướng dẫn tạo Form nhập liệu trên Excel. Tạo form nhập dữ liệu trong Excel bằng VBA. Form nhập liệu trong bài có thể thay đổi, đổi tên, thêm bớt và sắp xếp 1 cách linh hoạt.

▷ Khoá học VBA:
▷ Theo dõi Facebook cá nhân:
▷ Blog cá nhân:
▷ Download file:

Xem thêm video học và các thủ thuật excel: https://mindovermetal.org/thu-thuat-excel/

Subscribe
Notify of
guest
49 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Hồng Phạm Thị

Anh Thanh ơi. Em đã làm giống anh nhưng khi click vào listbox nó không hiện dữ liệu trong userform ạ. Anh giúp em được không ạ. Em cảm ơn ạ

Minh Thai Le

XIN CHO MÌNH HỎI VBA TRÊN MAC KHÔNG CÓ USER FORM THÌ KHẮC PHỤC THẾ NÀO ?

Dương Thành Đô

Anh ơi cho e hỏi 1 chút, em làm như vireo hướng dẫn, nhưng khoảng cách dòng giữa các trường dữ liệu rất lớn anh ạ, giao diện 1 màn hình của em chỉ hiện lên 2 trường dữ liệu 1 thôi anh ạ

HIỀN VŨ

cho em xin mã code đi ạ

duc nguentrung

Dạy này mà cũng đòi làm thầy haiz

ten tui khong

mình bị lỗi ở phần

With cmdSaveData

.Top = currentTopPos
——— >>>>>>>>>>>>>>>>> gây lỗi
.Left = 310 – cmdSaveData.Width

End With

bạn có thể giúp mình xử llys lỗi này với , cảm ơn bài của của bạn rất tiện ích .

Le Nguyen Minh

ko download được file

Thu Nguyen

Cám ơn thầy. Mất có 30ph xem video mà tạo được form nhập liệu giúp tiết kiệm thời gian lắm luôn ạ 🙂

Hồ sơ hoàn công - Phần mềm QLCL GXD

Anh/em xây dựng hoàn toàn có thể ứng dụng video này để tạo form nhập số liệu trong sheet Danh mục Nghiệm thu công việc hoặc Danh mục nghiệm thu vật liệu. Cảm ơn sự chia sẻ của tác giả.

Truong Hai Phuong

Cho e hỏi, scrollbars mình click chuột và kéo thì ok, nhưng lăn chuột lại k được, mong add giúp vì mình hơn 220 textbox lận. Tks add

Lương Văn Hùng

Làm tới 33:31 là không được như video. Thành scrollbar không có phần kéo lên xuống ạ. Ai cho mình xin hoá giải vụ này với ạ

Tien Dung Nguyen

Ad cho mình hỏi nếu tạo textbox bằng code như này thì khi muốn làm sự kiện Change cho textbox nào đó thì sẽ phải làm như nào ah.

loc truong huu

Có dùng được phím enter thay cho nút save hay cả hai được không vậy bạn

Hoa Đỗ

Minh khong the copy thong tin san co vao text box. phai nhap tay chu khong copy va paste vao text box duocj ah. Cac cao thu tra loi giup em voi

Việt Hứa Quốc

Lỗi sau khi bấm F8 nó chạy đến Next Index lại quay lên lại With Me, mình không biết sữa như thể nào để có thể bấm hiện form ra mong ad hoặc thầy Thanh chỉ giúp cám ơn

An Huynh

Dùng Excel trên mac m ko thấy Userform. Hướng dẫn mình với ad ơi

Hồng Phạm

Anh Thanh ơi.
Em đã làm được userform nhưng tới lúc nhập liệu và ấn Save nó hiện lỗi "run_time error '9' – Subscrip out of range.
Khi ấn debug nó hiện lỗi ở dòng code" info(index) = .Controls(settings(index, 1)) " trong đoạn code sau:
"Private Sub cmdSaveData_Click()

Dim settings As Variant

Dim info() As String

Dim index As Long

With Sheets(SHEET_SETTINGS)

ReDim info(1 To getLR(.Name, "A") – 1)

settings = .Range("A2:D" & getLR(.Name, "D")).Value

For index = LBound(settings, 1) To UBound(settings, 1)

With Me

info(index) = .Controls(settings(index, 1))

End With

Next index

End With

With Sheets(SHEET_DATA)

.Range("A" & getLR(.Name, "A")).Resize(, UBound(info)) = info

End With

End Sub".

Mong anh giúp đỡ ạ. Em cảm ơn!

Đức Thành Nguyễn

Rất cám ơn anh! Video rất hay và bổ ích.
Em đang sử dụng excel 2016, khi click vào insert thì nó không có user form hiện ra. Mà chỉ có ModuleModule, class module và proceduure.Anh có thể cho em biết là tại sao không ạ.
Xin cám ơn anh nhiều.

Cindy Cindy

Bạn ơi ngay chỗ
With cmdSaveData
.Top = currentTopPos
.Left = 310 – cmdSaveData.Width

Thì nó lại hiện bảng báo lỗi "run-time error '424': Object required

Hoang Thanh Phong Nguyen

Bạn này ko những giỏi mà còn rất thông minh, cái cách hướng dẫn úp úp mở mở khiến người xem tò mò muốn tham gia khóa học của bạn, giống như đang coi phim bộ đến khúc gây cấn thì hết phìm,… rất hay. Cá nhân mình rất thích những video của bạn.

nguyen duy ha

Mình copy một dảy ở ngoài rồi paste đc không bạn nhỉ, hay chỉ nhập từng ô vậy tôi ? xin cảm ơn.

Larry Do Chanel

Làm sao tải phần mềm này về máy được ADD

Lâm Xung

anh cho hỏi. làm cách nào mà e tạo form nhập liệu cứ báo lỗi sửa code.

ĐT Nguyễn [Học Excel Online]

Đây là nội dung nhỏ trong bộ khoá học:
▷ Khoá học "Học Excel, Có Việc Ngay": ​http://bit.ly/ex101_dtnguyen

▷ Xem ngay "Tự động hoá Excel và báo cáo với VBA": http://bit.ly/vba101_dtnguyen

▷ Theo dõi Facebook cá nhân: https://fb.me/kuldokk

▷ Blog cá nhân: https://blog.hocexcel.online

▷ Video được cung cấp miễn phí bởi https://hocexcel.online

▷ Facebook Group: http://bit.ly/heoFBG



Khám phá thêm thật nhiều kiến thức với Học Excel Online:

▷ Học Excel, Có Việc Ngay: https://www.hocexcel.online/ex101

▷ Hãy để VBA giúp bạn: https://www.hocexcel.online/vba101

▷ Hiểu và phân tích dữ liệu với Excel: https://www.hocexcel.online/dv101

vu ba Dien

Cảm ơn Video của bạn, rất hữu ích. Mình đã cố làm thử nhưng excel vẫn báo lỗi ở cái phần UserForm1. Khi mình nhấn vào nút tạo form thì excel báo lỗi là Run-time error'438': Object doesn't support this property or method. Mình cũng dùng phương pháp kiểm tra từng dòng code 1 như bạn nói thì hình như là lỗi ở :
.Height = settings(index, 3) * UI_LINE_HEIGHT
Bạn giúp mình check va fix lỗi này với.
Mình đang dùng Excel 2016
Vì không upload file lên đây được nên mình đã uploaded lên MediaFire:
https://www.mediafire.com/?mox639343d9oahj
Hy vọng nhận đc sự giúp đỡ của bạn
Cảm ơn bạn rất nhiều!

BINH QTD

Bấm chạy lỗi tại dòng:   UserForm1.Show
Mã: Dim currentTopPos As Long
Private Sub UserForm_Initialize()
    Dim settings As Variant
    Dim index As Long
    Dim label As MSForms.label
    Dim textbox As MSForms.label
   
    currentTopPos = 20
    With Sheets(SHEET_SETTINGS)
        settings = .Range("A2:D" & getLR(.Name, "D")).Value                  (Lỗi từ dòng này khi bấm F8)
        
        For index = LBound(settings, 1) To UBound(settings, 1)
            With Me
                Set label = .Controls.Add("Forms.label.1")
                With label
                    .Left = ui_left
                    .Top = currentTopPos
                    .Width = settings(index, 4)
                    .Height = ui_line_height
                    currentTopPos = .Top + .Top + .Height + UI_GAP
                    .Caption = settings(index, 2)
                End With
            End With
        Next index
    End With
End Sub

Nhờ anh kiểm tra giúp để sửa lỗi, xin cảm ơn1

Thắng Cao

chiuj

Xét Nghiệm

em muốn download bài này đươc không a

tranminh2010

bạn ơi ! cho hỏi thêm chút nhé. Tôi đã xem hướng dẫn của bạn và là được gần như hoàn thành rồi, chỉ duy có 1 điều là ở ô 2 và 3 dòng tôi không thể gõ xuống dòng .như ô "thêm bạn gái" có 2 dòng nhưng tôi chỉ gõ vào được Text5 mà không gõ thêm được text6 ở dòng dưới. Xin cảm ơn bạn và mọi người giúp dùm.

Tram Nguyen

Bạn cho mình hỏi, form nhập lieu này có cho phép nhập dữ lieu là file ảnh ko?

Phạm Ngọc Tùng

Anh cho em hỏi với ạ, có cách nào mà mỗi lần nhập xong trong Form xong sau đó bấm Save là các dữ liệu biến mất luôn để mình nhập tiếp theo không ạ? chứ cứ mỗi lần save xong là dữ liệu vẫn còn nguyên, lại phải xóa thủ công mất thời gian quá a ạ

An Nguyễn

ad cho hỏi tại sao khi đã lưu file đúng qui trình rồi nhưng khi gửi file cho máy khác lại không mở được, trong khi đó máy mình vẫn chạy tốt.

Tùng Lại

Em chào anh!
Anh cho em hỏi với ạ:
Hàng ngày em phải nhập số lượng sản phẩm nhập lên kho, mà có đến hàng trăm đầu sản phẩm với số lượng khác nhau, có cách nào áp dụng vào TH của em để chỉ cần nhập tên (mã sản phẩm) vào 1 ô rồi nhập số lượng vào ô dưới, bấm save, excel tự chuyển dữ liệu vào ô của sản phẩm đó, rồi lại tiếp tục với sản phẩm khác không ạ?
Thông thường em toàn phải dùng Ctrl+F để tìm tên sản phẩm rồi điền số lượng vào thôi anh ạ.
Em cám ơn anh!

Nguyen Duyxuan

A Thanh ơi, trên google spreadsheet có công cụ nào như VBA không anh?

Hiển Đỗ Minh

anh ơi cho e hỏi khi nhập vào cho no dinh dang number luon thi lam sao

SƠN HOÀNG

Bạn cho mình hỏi sao khai biến current top Pos ở ngoài phần SUB vậy, vùng hoạt động của nó khác nhau à ? thanks

Phạm Duy Diệu Manulife

Bạn ơi. Cho mình hỏi nếu mình muốn tạo nút sổ xuống ở trong form đó thì làm thế nào?

Công Khanh Phạm

NẾU DỮ LIỆU MÌNH NHẠP MÀ TRÙNG NHAU THÌ GIẢI QUYẾT THẾ NÀO HẢ BẠN

Vinh Nguyen

Anh ơi ! nếu em muốn sau khi bấm Save -> dữ liệu nhập được đưa vào bảng -> Nội dung trong form tự động mất đi để mình nhập cái mới thì thêm câu lệnh xoá nội dung thế nào ạ

Tuấn Hồ

ai lam theo huong dan cua add cho minh xin file nha
thank

Nhung Phạm Thị

nếu e có cột stt có stt sẵn thì viết code cho 1 textbox tự hiện stt của dòng đang nhập liệu đó như thế nào vậy anh?

thuy bui

E chào anh ạ, em muốn học VBA cấp tốc, a có dạy ko ạ?

Minh Thiên Nguyễn

Add ơi cho mình hỏi với. mình làm giống y như bạn vậy mà sao cái form nó chỉ hiện lên cái Label cuối cùng (Gender), khi mình thử thêm một số cái ở cột Label thì cái form nó cũng chỉ hiện cái cuối cùng khi mình thêm thôi. Mình dò lại từng câu code 1 không sai cái gì hết mà không biết sao nó lại như vậy. Giúp mình tìm ra lỗi với.

Huỳnh Tấn Tám

Bạn cho hỏi thêm một câu nữa. Có cách nào bảo mật VBA không?

Huỳnh Tấn Tám

Bạn ơi! Bạn có thể giải thích giùm mình dòng: "For index = LBound(settings, 1) to UBound(settings, 2) " không? Cảm ơn bạn nhiều!

Huỳnh Tấn Tám

Bạn giảng rất hay. Cảm ơn ban!

Hải Hoàng Long

Download file ở đâu vậy anh..click link trên mà không thấy ạ?

Phạm Hồng Vinh

Sau khi save xong thì reset lại form (xóa dữ liệu trong các ô text) thì làm thế nào vậy ad?

Quyên Trần

rấtcảm ơn anh nhờ mê quá mà tơi 4:30 chưa ngủ? có 1 vấn đề đã siêu vậy có cách nào nếu tới ô giới tính sẽ tự động hiển thị nam vf nữ chỉ việc chọn không anh ? em cần câu trả lời.