CODE lọc dữ liệu trong Listbox

Liên hệ QC

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Chào cả nhà GPE !
Em đang tự học và Listbox. em đang có vấn đề. Ví dụ Listbox trong From gồm 4 cột 1000 hàng chẳng hạn. Giờ em tạo thêm trong Form 1 Textbox để khi em đánh 1 vài từ liên quan thì Listbox sẽ hiển thị gọn lại với từ tìm kiếm.Chi tiết em có gửi File Mong mọi người Giúp đở !
 

File đính kèm

  • Code loc du lieu trong List Box.xls
    27 KB · Đọc: 50
Chào cả nhà GPE !
Em đang tự học và Listbox. em đang có vấn đề. Ví dụ Listbox trong From gồm 4 cột 1000 hàng chẳng hạn. Giờ em tạo thêm trong Form 1 Textbox để khi em đánh 1 vài từ liên quan thì Listbox sẽ hiển thị gọn lại với từ tìm kiếm.Chi tiết em có gửi File Mong mọi người Giúp đở !
Bạn xem thử cái này nha
 

File đính kèm

  • Code loc du lieu trong List Box.rar
    21.8 KB · Đọc: 217
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Bạn xem thử cái này nha

Trong file của bạn có dùng hàm FilterMCLArray
Mã:
Function FilterMCLArray(ByVal sArray, ByVal [COLOR=#ff0000]TotalCol[/COLOR] As Long, ByVal FindStr As String, ByVal HasTitle As Boolean)
    Dim tmpArr, i As Long, j As Long, ColIndex As Long, k As Long, Arr, Dic, TmpStr, Tmp, Chk As Boolean, TmpVal As Double
    On Error Resume Next
    Set Dic = CreateObject("Scripting.Dictionary")
    tmpArr = sArray
    ColIndex = ColIndex + LBound(tmpArr, 2) - 1
    Chk = (InStr("><=", Left(FindStr, 1)) > 0)
    For i = LBound(tmpArr, 1) - HasTitle To UBound(tmpArr, 1)
        For k = 1 To TotalCol
            ColIndex = k
            If Chk Then
                TmpVal = CDbl(tmpArr(i, ColIndex))
                If Evaluate(TmpVal & FindStr) Then Dic.Add i, ""
            Else
                If InStr(UCase(tmpArr(i, ColIndex)), UCase(FindStr)) Then Dic.Add i, ""
            End If
        Next
    Next
    If Dic.Count > 0 Then
        Tmp = Dic.keys
        ReDim Arr(LBound(tmpArr, 1) To UBound(Tmp) + LBound(tmpArr, 1) - HasTitle, LBound(tmpArr, 2) To UBound(tmpArr, 2))
        For i = LBound(tmpArr, 1) - HasTitle To UBound(Tmp) + LBound(tmpArr, 1) - HasTitle
            For j = LBound(tmpArr, 2) To UBound(tmpArr, 2)
                Arr(i, j) = tmpArr(Tmp(i - LBound(tmpArr, 1) + HasTitle), j)
            Next
        Next
        If HasTitle Then
            For j = LBound(tmpArr, 2) To UBound(tmpArr, 2)
                Arr(LBound(tmpArr, 1), j) = tmpArr(LBound(tmpArr, 1), j)
            Next
        End If
    End If
    FilterMCLArray = Arr
End Function
Không biết hàm này do bạn tự viết hay lấy từ đâu? Nhưng tôi khẳng định nội dung code đó nguyên gốc là hàm Filter2DArray do chính tôi viết
Tôi thắc mắc tại sao 2D lại trở thành MCL vậy bạn?
 
Upvote 0
Trong file của bạn có dùng hàm FilterMCLArray

Không biết hàm này do bạn tự viết hay lấy từ đâu? Nhưng tôi khẳng định nội dung code đó nguyên gốc là hàm Filter2DArray do chính tôi viết
Tôi thắc mắc tại sao 2D lại trở thành MCL vậy bạn?
Em thuộc nhóm "Thành viên sao chép" làm sao mà làm được cái hàm đó thầy +-+-+-+. Hôm trước em lấy ở trang này thầy ạ: https://www.hocexcel.online/userform-nhap-lieu-va-tra-cuu.html
Do em sơ xuất không ghi chú nguồn gốc của Code mong Thầy thông cảm
 
Upvote 0
Em thuộc nhóm "Thành viên sao chép" làm sao mà làm được cái hàm đó thầy +-+-+-+. Hôm trước em lấy ở trang này thầy ạ: https://www.hocexcel.online/userform-nhap-lieu-va-tra-cuu.html
Do em sơ xuất không ghi chú nguồn gốc của Code mong Thầy thông cảm

Mình không hẹp hòi gì cái chuyện chia sẻ kiến thức. Mình còn đưa nguyên cả 1 thư mục bao gồm tất cả các file Excel mình nghiên cứu được lên Mediafire cho mọi người tùy ý sử dụng thì có xá gì vài dòng code
Tuy nhiên, mình rất ghét kiểu sửa 1 vài từ khóa, đối số, tên hàm... trong code do mình viết (trừ phi các bạn có đột phá đặc biệt trong code khiến nó trở thành sản phẩm khác)
Khi nghiên cứu một bài toán, mình có thể tìm ra giải thuật trong vài phút nhưng đôi khi việc đặt tên hàm, tên biến lại trở nên khó khăn, thậm chí phải suy nghĩ rất nhiều giờ, nhiều ngày nhằm tìm ra cái tên phù hợp nhất. Vậy nên mình coi trọng mấy cái tên ấy .. hơn cả nội dung code
---------------------------------
Nói lòng vòng không biết bạn có hiểu không. Tóm lại mình không cần các bạn phải ghi chú hay trích dẫn nguồn gốc khi xài code của mình, chỉ xin giữ nguyên "hiện trường", đừng sửa gì cả. Không hiểu sao mình rất "ngứa mắt" chuyện này, chắc tại cá tính!
 
Upvote 0
e chào anh chị, e muốn đánh từ khóa để tìm được danh mục mình cần trong list box và đọc số thành chữ. a chị giúp e với ạ, e cảm ợn ạ
 

File đính kèm

  • Book1.xlsx
    79.5 KB · Đọc: 5
Upvote 0
e chào anh chị, e muốn đánh từ khóa để tìm được danh mục mình cần trong list box và đọc số thành chữ. a chị giúp e với ạ, e cảm ợn ạ
Chào bạn,
Bạn xem thử ví dụ mình gửi đính kèm nhé (đây là ví dụ thôi nhé, code chắc cần sửa nhiều lắm để chạy mượt mà hơn).
1 file cho Excel 365 (tận dụng hàm Filter), 1 file cho excel 2016 nha.
 

File đính kèm

  • nhaplieu_365.xlsm
    165.3 KB · Đọc: 14
  • nhaplieu_EX2016.xlsm
    107.2 KB · Đọc: 18
Upvote 0
e chào anh chị, e muốn đánh từ khóa để tìm được danh mục mình cần trong list box và đọc số thành chữ. a chị giúp e với ạ, e cảm ợn ạ
Bạn dùng file này để sửa lại cho phù hợp với mong muốn của bạn
 

File đính kèm

  • drop-down-list-HTN-GOOD_Func_AddDVT.xlsm
    320.6 KB · Đọc: 43
Upvote 0
Web KT
Back
Top Bottom