tạo dự đoán nhập trong combobox bằng userform

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

phan van tai

Thành viên chính thức
Tham gia
22/4/20
Bài viết
92
Được thích
21
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
VP
Mình có file quản lí thiết bị, mình có tạo userform nhập liệu => mình muốn khi nhập 1 ký tự hoặc 2 ký tự, nó sẽ xổ xuống danh sách rồi mình click chọn

hiện tại nó cũng có dự đoán, nhưng không xổ danh sách xuống
 

File đính kèm

  • List all equipment.xlsm
    48.6 KB · Đọc: 16
Lần chỉnh sửa cuối:
Upvote 0
Mình có file quản lí thiết bị, mình có tạo userform nhập liệu => mình muốn khi nhập 1 ký tự hoặc 2 ký tự, nó sẽ xổ xuống danh sách rồi mình click chọn

hiện tại nó cũng có dự đoán, nhưng không xổ danh sách xuống
Một số link cho bạn tham khảo : https://www.one-tab.com/page/WUk_ky1tR_yU_lbnN3EfcA

1672642992308.png
PHP:
Private Sub ComboBox1_Change()
    ComboBox1.DropDown
End Sub

Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim arrIn As Variant, arrOut As Variant
    Dim i As Long, j As Long

    arrIn = Sheets("list").Range("b6:b1000")

    ReDim arrOut(1 To UBound(arrIn), 1 To 1)

    For i = 1 To UBound(arrIn)
        If arrIn(i, 1) Like ComboBox1.Text & "*" Then
            j = j + 1
            arrOut(j, 1) = arrIn(i, 1)
        End If
    Next
    ComboBox1.List = arrOut
End Sub
PHP:
Sub Button1_Click()
    With UserForm1
           .ComboBox1.MatchEntry = fmMatchEntryNone ' <--| set this just before showing userform
           .Show
    End With
    'UserForm1.ComboBox1.MatchEntry = fmMatchEntryNone.Show
End Sub
 
Upvote 0
Một số link cho bạn tham khảo : https://www.one-tab.com/page/WUk_ky1tR_yU_lbnN3EfcA

View attachment 285317
PHP:
Private Sub ComboBox1_Change()
    ComboBox1.DropDown
End Sub

Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim arrIn As Variant, arrOut As Variant
    Dim i As Long, j As Long

    arrIn = Sheets("list").Range("b6:b1000")

    ReDim arrOut(1 To UBound(arrIn), 1 To 1)

    For i = 1 To UBound(arrIn)
        If arrIn(i, 1) Like ComboBox1.Text & "*" Then
            j = j + 1
            arrOut(j, 1) = arrIn(i, 1)
        End If
    Next
    ComboBox1.List = arrOut
End Sub
PHP:
Sub Button1_Click()
    With UserForm1
           .ComboBox1.MatchEntry = fmMatchEntryNone ' <--| set this just before showing userform
           .Show
    End With
    'UserForm1.ComboBox1.MatchEntry = fmMatchEntryNone.Show
End Sub
cảm ơn chia sẻ của bạn nhiều
 
Upvote 0
Lời nói chẳng mất tiền mua,
Lựa lời mà nói là lòi được form.
Tôi thất ông 868 trả lời một câu, tôi cũng chẳng hiểu là cái gì cả, và liên quan gì, xây dựng cái gì... thì biết cái gì mà "lựa lời mà nói", Chắc trí não tôi chỉ tới vậy thôi và chủ thớt chắc cũng vậy.
Và tôi cũng nghĩ rằng trong các bài viết trao đổi kỹ thuật trên diễn đàn nên tiết chế lại nhưng trao đổi không liên quan về mặt kỹ thuật để những người theo dõi sao này có thể xem được trọng tâm các cách giải quyết vấn đề nhanh nhất thay vì phải mất thời gian đọc hết cả chục trang trao dổi như dạng chát chít mới tìm ra lời giải cho vấn đề mình đang cần.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom