Trang chủ | Giới thiệu | Sơ đồ trang

VBA Excel thực hành Bài 5 - Tìm kiếm trong VBA, Form tìm kiếm dữ liệu trong VBA

17 nhận xét
VBA excel

Tiếp tục series các video về tự học VBA trong bài này hướng dẫn các bạn cách tạo một form VBA có thể tìm kiếm dữ liệu từ bảng tính và hiện kết quả tìm kiếm lên form VBA. Chi tiết mời bạn đọc xem video bên dưới:





Code minh họa trong Video:

Code cho nút tìm kiếm:
 Private Sub Userform_intialize() '// thiet lap form de tim kiem
Me.txtSearch.SetFocus
End Sub
Private Sub btnSearch_Click() '// tim kiem du lieu
On Error Resume Next
Me.ListBox1.Clear
Me.ListBox1.AddItem Sheet1.Cells(1, "A")
For B = 2 To 6
Me.ListBox1.List(ListBox1.ListCount - 1, B - 1) = Sheet1.Cells(1, B)
Next B
Me.ListBox1.Selected(0) = True
Dim i As Long
For i = 2 To Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
For x = 1 To 6
a = Len(Me.txtSearch.Text)
If Left(Sheet1.Cells(i, x).Value, a) = Me.txtSearch.Text And Me.txtSearch.Text <> "" Then
Me.ListBox1.AddItem Sheet1.Cells(i, 1).Value
For c = 1 To 6
Me.ListBox1.List(ListBox1.ListCount - 1, c) = Sheet1.Cells(i, c + 1).Value
Next c
End If
Next x
Next i
End Sub
Code đưa dữ liệu từ ô ListBox sang TextBox
Private Sub ListBox1_Click()
On Error Resume Next
Me.txtMa.Text = ListBox1.List(ListBox1.ListIndex, 0)
Me.txtDate.Text = ListBox1.List(ListBox1.ListIndex, 1)
Me.txtTen.Text = ListBox1.List(ListBox1.ListIndex, 2)
Me.txtNgaysinh.Text = ListBox1.List(ListBox1.ListIndex, 3)
Me.txtNghenghiep.Text = ListBox1.List(ListBox1.ListIndex, 4)
Me.txtDiachi.Text = ListBox1.List(ListBox1.ListIndex, 5)
End Sub


17 Nhận xét

Cho mình xin File để xem tham khảo
được không ? email: hoangthanhlinhks@gmail.com xin cám ơn !

Reply

Cho m xin file để học hỏi thêm nhé bạn
Gmail: ngokngaongo240994@gmail.com
Thank you!

Reply

Thầy ơi! Listbox của em không hiển thị nội dung

Reply

Cảm ơn tác giả. Nhưng cho minh hỏi dữ liệu textbox1 ra chỉ có 10 cột. Tác giả các thể chỉ giúp cách xuất ra dữ liệu trên 10 cột

Reply

em cũng thao tác như thế nhưng khi nhập tên cùng nhau thì cập nhật cả 2 luôn. Khắc phục ntn hả admin

Reply

Mình cũng làm giống thế nhưng khi tìm 2 số giống nhau là sữa hết cả 2 khắc phục ntn hả admin... cám ơn

Reply
avatar
Nặc danh

cho mình xin file để tham khảo với. xin cám ơn! ducvn2498@gmail.com

Reply

cho mình xin file để tham khảo với. xin cám ơn! mail mình: Tuongtp.phucthai@gmail.com

Reply

minh co ham 01 form giong nhu cac bai huong dan. chi khac la trong bai huong dan co 06 cot thi minh lam 22 cot; khong hieu sao luc lam nut tiem kiem (vba bai 5) thi list box chi hien du lieu 08 cot, khong du 22 cot. xin admin chi giao

Reply

Mình làm giống theo Add hướng dẫn nhưng của mình cần truy suất ra 155 cột dữ liệu, Vậy làm sao có thể hiện ra được hết 155 cột đấy, mình làm tương tự file trên thì hiện ra chỉ được có 8 trường cột thôi. mong add hướng dẫn giúp mình với.

Reply

ở bài 5 VBA excel thực hành tôi gặp lỗi variable not define
15:58
xin hỏi cách khắc phục
For B = 2 To 6

Reply

ad ơi xin cho hỏi, mình đã làm đúng các bước trong video hướng dẫn và nhập code đúng theo hướng dẫn nhưng khi tìm kiếm thì chỉ hiện ra một dòng xanh trong bảng listbox1 không có nội dung gì, mình lập nội dung có từ cột 1 đến cột 43 ạ! xin hướng dẫn thêm ạ

Reply

đồng thời listbox của tôi không có thanh cuộn để xem hết các trường sau khi tìm kiếm theo điều kiện

Reply

Trước tiên em cám ơn clip quá hay. cho em hỏi ti. khi em thêm 2 cột nữa em cũng đã sữa code rồi, nhưng chỉ hiện thỉ dc 10 cột mà file em 12 cột, em phải làm sao. mong thầy chỉ

Reply

Em bị lỗi. Có 15 colum như trong listbox chỉ hiện 10 column.
Anh có thể hướng dẫn fix lỗi giúp em được ko ạ? ln.baotoan210@gmail.com

Reply

nhờ admin hướng dẫn em fix lỗi được không, Liên hệ em được không ạ: vnptkg.nhan@gmail.com ( 0913591929), em cám ơn

Reply

rất hay. cho e xin file tham khảo với tranhoaiphong1988@gmail.com , xin cám ơn

Reply

Nếu bạn thực sự quan tâm đến nội dung bài viết xin để lại những ý kiến đóng góp vào khung bên dưới. Mỗi ý kiến đóng góp của độc giả là những chỉ dẫn quý báo để chúng tôi cung cấp những nội dung hữu ích hơn tới độc giả.