AutoComplete trong Combobox userform

Liên hệ QC

hadoan-pap

Thành viên tiêu biểu
Tham gia
8/7/15
Bài viết
453
Được thích
18
Dear mọi người.

Em nhờ mọi ng giúp khi gõ vào trong ComBoBox userform thì nó autoComplete hiện ra cái mình cần. Mình có thể gõ bất kỳ từ nào , nó sẽ search trong ComboBox và show ra các String có từ giống từ mình gõ.

Hiện ComboBox mình chỉ có thể gõ từ đầu tiên thì nó mới hiện ra... Nhưng em muốn mình gõ bất kỳ , miễn là trong chuỗi có thì nó sẽ show ra ạ.

Em xin cảm ơn!
 

File đính kèm

  • Autocomplete in Combobox.xlsm
    19.5 KB · Đọc: 16
Rất mong mọi người vào giúp đỡ.

Em cảm ơn!
 
Upvote 0
Mọi nguời vào hỗ trợ mình đoạn code này với nhé.

Cảm ơn mọi người!
 
Upvote 0
Bạn chơi cao siêu quá, ắc khó rồi'

Theo mình: Dã dụ ta có danh sách [Họ & Tên] học sinh của 1 trường cỡ 800 em
Bạn gỏ 1 từ, thì hiện ra trên ListBox những em có từ đó trong tên;
 
Upvote 0
Mọi nguời vào hỗ trợ mình đoạn code này với nhé.

Cảm ơn mọi người!
tên nằm trong vùng A1:A100 nha bạn
Mã:
Option Explicit
Dim Arr As Variant
Private Sub ComboBox1_Change()
    ComboBox1.Clear
    Dim i As Long
    For i = LBound(Arr, 1) To UBound(Arr, 1)
        If Arr(i, 1) Like "*" & ComboBox1.Value & "*" Then ComboBox1.AddItem Arr(i, 1)
    Next i
End Sub
Private Sub UserForm_Initialize()
    Arr = Range("A1:A100").Value2
End Sub
 
Upvote 0
tên nằm trong vùng A1:A100 nha bạn
Mã:
Option Explicit
Dim Arr As Variant
Private Sub ComboBox1_Change()
    ComboBox1.Clear
    Dim i As Long
    For i = LBound(Arr, 1) To UBound(Arr, 1)
        If Arr(i, 1) Like "*" & ComboBox1.Value & "*" Then ComboBox1.AddItem Arr(i, 1)
    Next i
End Sub
Private Sub UserForm_Initialize()
    Arr = Range("A1:A100").Value2
End Sub

Cảm ơn bạn nhưng mình thử thì chưa thấy đc. Bạn có thể lấy file của mình gửi và làm thử vào đó đc k?

Mình cảm ơn!
 
Upvote 0
Cảm ơn bạn nhưng mình thử thì chưa thấy đc. Bạn có thể lấy file của mình gửi và làm thử vào đó đc k?

Mình cảm ơn!
Mã:
Option Explicit
Dim Arr As Variant
Private Sub ComboBox1_Change()
    ComboBox1.Clear
    Dim i As Long
    For i = LBound(Arr) To UBound(Arr)
        If Arr(i) Like "*" & ComboBox1.Value & "*" Then ComboBox1.AddItem Arr(i)
    Next i
End Sub
Private Sub UserForm_Initialize()
    Arr = Array("Test Buildings", "Adam Structures", "Machinery & Equipment", "Moulds and Dies", "Car Vehicles", "Softwares, Licence", "bdh Others")
End Sub
 
Upvote 0
Mã:
Option Explicit
Dim Arr As Variant
Private Sub ComboBox1_Change()
    ComboBox1.Clear
    Dim i As Long
    For i = LBound(Arr) To UBound(Arr)
        If Arr(i) Like "*" & ComboBox1.Value & "*" Then ComboBox1.AddItem Arr(i)
    Next i
End Sub
Private Sub UserForm_Initialize()
    Arr = Array("Test Buildings", "Adam Structures", "Machinery & Equipment", "Moulds and Dies", "Car Vehicles", "Softwares, Licence", "bdh Others")
End Sub
Cảm ơn bạn nhiều. Nhưng trong trường hợp cột A có rất nhiều data và mình không thể nào mà gõ tay vào kiểu " Arr = Array("Test Buildings", "Adam Structures", "Machinery & Equipment", "Moulds and Dies", "Car Vehicles", "Softwares, Licence", "bdh Others") " mà muốn để nó nhận theo Dynamic Range thì làm thế nào vậy bạn?
 
Upvote 0
Cảm ơn bạn nhiều. Nhưng trong trường hợp cột A có rất nhiều data và mình không thể nào mà gõ tay vào kiểu " Arr = Array("Test Buildings", "Adam Structures", "Machinery & Equipment", "Moulds and Dies", "Car Vehicles", "Softwares, Licence", "bdh Others") " mà muốn để nó nhận theo Dynamic Range thì làm thế nào vậy bạn?
là do bạn muốn làm theo dữ liệu của bạn đưa lên thì mình làm theo dữ liệu bạn đưa lên thôi.
bạn muốn nhận theo cái gì thì gán cái đó vào
không lẽ #5 với #7 không đáp ứng hay gợi cho bạn được điều gì sao
 
Upvote 0
Bác nào có code khi mình nhập dữ liệu A1 enter thì nhảy sang B1 để nhập tiếp.
Sau nhập B1 xong lại nhảy xuống A2 không ạ.
 
Upvote 0
Bác nào có code khi mình nhập dữ liệu A1 enter thì nhảy sang B1 để nhập tiếp.
Sau nhập B1 xong lại nhảy xuống A2 không ạ.
1> Excel Options, After pressing Enter, move selection = Right
Chọn range ở 2 cột A-B rồi Enter xem.

2> Lần sau không có kiểu ké ké lung tung, hỏi đúng chủ đề hoặc lập bài mới nếu chưa có.
 
Upvote 0
là do bạn muốn làm theo dữ liệu của bạn đưa lên thì mình làm theo dữ liệu bạn đưa lên thôi.
bạn muốn nhận theo cái gì thì gán cái đó vào
không lẽ #5 với #7 không đáp ứng hay gợi cho bạn được điều gì sao

Cảm ơn bạn nh nhé. Nhưng nói that k hiểu sao mình làm vào trong file nhưng khi chạy gõ nó k dc bạn ạ.

Mình gửi file đính kèm nhé.

Mình cảm ơn!
 

File đính kèm

  • Autocomplete in Combobox.xlsm
    28.7 KB · Đọc: 12
Upvote 0
s
Cảm ơn bạn nh nhé. Nhưng nói that k hiểu sao mình làm vào trong file nhưng khi chạy gõ nó k dc bạn ạ.

Mình gửi file đính kèm nhé.

Mình cảm ơn!
sửa dòng này
Mã:
Private Sub ComboBox1_Change()
thành
Mã:
Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
rồi xem thế nào nhé
---------------------
cót ciếc gì mình không biết nhiều đâu. hỏi phức tạp quá mình cũng thua thôi bạn à.
 
Upvote 0
Web KT
Back
Top Bottom