Tạo form tìm kiếm

  • Thread starter Thread starter VUDER
  • Ngày gửi Ngày gửi
Liên hệ QC

VUDER

Thành viên mới
Tham gia
9/3/11
Bài viết
32
Được thích
0
chào các anh chị !
em co 1 file tạo form tìm kiếm (viết bằng code), khi em show form thì nhập vào nó báo lỗi , em không biết sai chỗ nào mong moi người giúp đỡ
cám ơn các anh chị nhiều
 

File đính kèm

File của bạn mà chạy được mới ghê đó!

Bạn tự tạo form rồi bê nguyên code người ta tạo sẳn rồi chạy code nên bị lỗi vì nhiều nguyên do, code có OptionButton3 nhưng form lại không có, fCol có 2 cột, trong khi đó nó có nhiều kết quả của biến đó v.v...

Tôi làm lại tất cả cho bạn đây, code thực hiện trên mảng, lọc trên mảng, không liên quan đến sheet nữa nên vận hành "trơn tru" hơn.

Đây là code:

Mã:
Private pri_Col As Long, pri_ArrData


Private Sub UserForm_Initialize()
    Application.ScreenUpdating = False
    With Sheets("ID Item DE + EE")
        pri_ArrData = .Range(Range("A2"), .Range("B" & Rows.Count).End(xlUp))
    End With
    OptionButton2.Value = True
    ListBox1.List = pri_ArrData
End Sub


Private Sub UserForm_Terminate()
    Application.ScreenUpdating = True
End Sub


Private Sub TextBox1_Change()
    If TextBox1 = "" Then
        ListBox1.List = pri_ArrData
    Else
        Dim GetRows()
        Dim ArrFilter
        Dim FilterText As String
        Dim r As Long, n As Long
    
        FilterText = UCase(TextBox1) & "*"
        ''Hoac:
        ''FilterText = "*" & TextBox1 & "*"
        
        For r = 1 To UBound(pri_ArrData)
            If UCase(pri_ArrData(r, pri_Col)) Like FilterText Then
                n = n + 1
                ReDim Preserve GetRows(1 To n)
                GetRows(n) = r
            End If
        Next
        If n Then
            ReDim ArrFilter(1 To n, 1 To 2)
            For r = 1 To n
                ArrFilter(r, 1) = pri_ArrData(GetRows(r), 1)
                ArrFilter(r, 2) = pri_ArrData(GetRows(r), 2)
            Next
            ListBox1.List = ArrFilter
        Else
            ListBox1.List = Array()
        End If
    End If
End Sub


Private Sub OptionButton1_Change()
    If OptionButton1 Then
        pri_Col = 1
        TextBox1 = ""
        TextBox1.SetFocus
    End If
End Sub


Private Sub OptionButton2_Change()
    If OptionButton2 Then
        pri_Col = 2
        TextBox1 = ""
        TextBox1.SetFocus
    End If
End Sub
 

File đính kèm

Nhờ anh giúp đỡ file của em

Chào anh, em dựa vào Form thiết kế của anh áp dụng cho file của em nhưng dữ liệu của em có STT đến 16393 nhưng trên form chỉ hiện đến 16177 nên không tìm kiếm hết dữ liệu
Anh xem rồi sửa code giúp em với cho phù hợp
Vì không up trực tiếp đc nên em phải up qua mediafire anh download về giúp em
http://www.mediafire.com/view/829b82c2o65qysn/tong_ca_phuong1.xls
 
Web KT

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

Back
Top Bottom