nhờ anh chị sửa giúp đoạn code tìm kiếm với ạ (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ngocvaneahleo

Thành viên mới
Tham gia
2/3/16
Bài viết
19
Được thích
3
nhờ anh chị giúp em sửa lại code tìm kiếm với ạ, em mò hoài mà không được nên nhờ anh chị giúp.

p/s: code trong file là em copy từ các bài viết trên diễn đàn, thật sự em chẳng biết tí gì về VBA hết, mong anh chị giúp đỡ.
 

File đính kèm

nhờ anh chị giúp em sửa lại code tìm kiếm với ạ, em mò hoài mà không được nên nhờ anh chị giúp.

p/s: code trong file là em copy từ các bài viết trên diễn đàn, thật sự em chẳng biết tí gì về VBA hết, mong anh chị giúp đỡ.

sao tôi bị "permision denied"??? khi kích hoạt form
bạn xài 64bit?
===
bạn muốn lọc thông tin theo stt hoặc tên?xong rồi bỏ ở đâu? listbox hả?
 
Upvote 0
Mình đưa bạn file khác nhưng cùng xuất xứ đây, xin mời:

Bạn chưa có nút lệnh để Form nó đi tìm; Bạn mở file của mình gởi lên & thực hiện các thao tác theo chỉ dẫn sau

Cách thức sử dụng:
Khi mới mở file lên, ta sẽ thấy xuất hiện form; Bạn chỉ cần bấm chuột vô nút ‘Thoát’; Lúc í sẽ kích hoạt trang tính chứa dữ liệu mang tên ‘ThongKe’

Bạn xem qua các cột & dòng nội dung của CSDL này;

Tiếp theo đó bạn bấm vô nút ‘Run’. Lúc nầy ta sẽ thấy xuất hiện Form mà ta đã được chiêm ngưỡng trước đó.
Bạn sẽ thấy khu vực fía dưới đường kẻ có vài nút lệnh để thực thi việc tìm kiếm.

Form cho fép ta tìm theo mã nhân viên hay theo tên nhân viên;

A./ Để tìm theo mã NV, bạn bấm chọn vô nút tùy chọn ‘Theo Mã NV’
Sau đó nhập 1 nội dung cần tìm vô ngăn ‘Nội dung cần tìm’, như
1:= ;TVT’
2:= ‘TVT0’
3:= ‘TVT03’
Sau khi nhập 1 trong 3 trường hợp ấy, ta bấm chuột vô nút ‘Tìm’ để macro d8u7a cho ta 1 kết quả nào đó,
Thực hiện vài lần & ngẫm nghĩ từ kết quả đưa lại.

B./ Để tìm theo tên ta nhập đúng tên họ người cần tìm vô nơi cần thiết & lại nhấn nút ‘tìm’

& dưới đây là macro gắn liện với nút lệnh ‘Tìm’; bạn nghiên cứu thử đi nha

PHP:
Private Sub CmdTKiem_Click()    'T́m Theo Mă NV Hay Theo Ho Tên'
 Dim Sh As Worksheet, Rng As Range, sRng As Range
 Dim Rws As Long, Ma As Boolean
 Dim MyAdd As String
 
 Set Sh = ThisWorkbook.Worksheets("ThongKe")
 Rws = Sh.[B6].CurrentRegion.Rows.Count
 If OptionButton1 Then
    Ma = True
    Set Rng = Sh.[b5].Resize(Rws)
 ElseIf OptionButton2 Then
    Set Rng = Sh.[c5].Resize(Rws)
 End If
 Set sRng = Rng.Find(TxtTK.Value, , xlFormulas, xlPart)
 If sRng Is Nothing Then
    MsgBox "Nothing"
 Else
    If Ma Then
        If Len(TxtTK.Value) < 5 Then
            Sh.[AA6:AE99].ClearContents
            MyAdd = sRng.Address
            Do
                Set sRng = Rng.FindNext(sRng)
                With Sh.[AA99].End(xlUp).Offset(1).Resize(, 5)
                    .Value = sRng.Offset(, -1).Resize(, 5).Value
                End With
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
        End If
        TxtMa = sRng.Value
        TxtHTen = sRng.Offset(, 1).Value
        TxtNS = sRng.Offset(, 2).Value
        TxtNQ = sRng.Offset(, 3).Value
        Set sRng = Rng.FindNext(sRng)
    Else
        TxtMa = sRng.Offset(, -2).Value
        TxtHTen = TxtTK
        TxtNS = sRng.Offset(, 1).Value
        TxtNQ = sRng.Offset(, 2).Value
        TxtMa = sRng.Offset(, -1).Value
    End If
 End If
End Sub
 

File đính kèm

Upvote 0
sao tôi bị "permision denied"??? khi kích hoạt form
bạn xài 64bit?
===
bạn muốn lọc thông tin theo stt hoặc tên?xong rồi bỏ ở đâu? listbox hả?

Bị lỗi ở đây nè anh
Application.ScreenUpdating = False With Sheets("danhmuc")
pri_ArrData = .Range(.Range("A7"), .Range("B" & Rows.Count).End(xlUp))
End With
OptionButton2.Value = True
ListBox1.List = pri_ArrData
Em muốn lọc theo 2 điều kiện đó anh, 1 là theo STT, 2 là Theo tên thuốc, em muốn sau khi gõ từ cần tìm vào thì trên listbox hiện ra thuốc cần tìm, nếu xóa từ vừa tìm đi thì listbox trở bình thường.
 
Upvote 0
Web KT

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

Back
Top Bottom