Tìm kiếm trong User form

Liên hệ QC

Blad01

Thành viên thường trực
Tham gia
6/10/07
Bài viết
350
Được thích
28
Em có viết một đoạn code để tìm kiếm dữ liệu theo họ và tên và hiện dữ liệu lên ListBox tại Page (Bieu 1), đoạn code như sau (dữ liệu lấy từ sheets("TT_B1") để đưa lên listbox của Page (Bieu 1):
Mã:
Private Sub txtTimB1_Change()
Dim Arr(), i as Long
    With lstDS
        .Clear
        For i = LBound(Arr, 1) To UBound(Arr, 1)
            If InStr(LCase$(Arr(i, 1)), LCase$((txtHoten.Text))) Then
                .AddItem Arr(i, 1)
                .List(.ListCount - 1, 1) = Arr(i, 2)
                .List(.ListCount - 1, 2) = Arr(i, 3)
                .List(.ListCount - 1, 3) = Arr(i, 4)
                .List(.ListCount - 1, 4) = Arr(i, 5)
                .List(.ListCount - 1, 5) = Arr(i, 6)
                .List(.ListCount - 1, 6) = Arr(i, 7)
                .List(.ListCount - 1, 7) = Arr(i, 8)
                .List(.ListCount - 1, 8) = Arr(i, 9)
            End If
        Next i
    End With
End Sub
Nhưng code báo lỗi tại dòng ".Clear". Em chưa biết nguyên nhân. Mong Thầy cô, anh chị trong diễn đàn giúp đỡ. sửa hoặc viết lại giúp em được không ? Em cảm ơn!
Vấn đề thứ 2 là em dùng hàm LCase$ để chuyển chữ hoa, nhưng khi chuyển file execl sang máy khác thì lại báo lỗi hàm đó không có trong thư viện là sao ? khắc phục thế nào ?
 

File đính kèm

  • Test.rar
    60 KB · Đọc: 7
Mới đọc hết hồn, tưởng đâu cái ký tự cuối cùng là "n"

1594118798970.png
 
Upvote 0
Em có viết một đoạn code để tìm kiếm dữ liệu theo họ và tên và hiện dữ liệu lên ListBox tại Page (Bieu 1), đoạn code như sau (dữ liệu lấy từ sheets("TT_B1") để đưa lên listbox của Page (Bieu 1):
Mã:
Private Sub txtTimB1_Change()
Dim Arr(), i as Long
    With lstDS
        .Clear
        For i = LBound(Arr, 1) To UBound(Arr, 1)
            If InStr(LCase$(Arr(i, 1)), LCase$((txtHoten.Text))) Then
                .AddItem Arr(i, 1)
                .List(.ListCount - 1, 1) = Arr(i, 2)
                .List(.ListCount - 1, 2) = Arr(i, 3)
                .List(.ListCount - 1, 3) = Arr(i, 4)
                .List(.ListCount - 1, 4) = Arr(i, 5)
                .List(.ListCount - 1, 5) = Arr(i, 6)
                .List(.ListCount - 1, 6) = Arr(i, 7)
                .List(.ListCount - 1, 7) = Arr(i, 8)
                .List(.ListCount - 1, 8) = Arr(i, 9)
            End If
        Next i
    End With
End Sub
Nhưng code báo lỗi tại dòng ".Clear". Em chưa biết nguyên nhân. Mong Thầy cô, anh chị trong diễn đàn giúp đỡ. sửa hoặc viết lại giúp em được không ? Em cảm ơn!
Vấn đề thứ 2 là em dùng hàm LCase$ để chuyển chữ hoa, nhưng khi chuyển file execl sang máy khác thì lại báo lỗi hàm đó không có trong thư viện là sao ? khắc phục thế nào ?

bạn kiểm tra xem đúng ý chưa nhé.
 

File đính kèm

  • Test.xlsm
    86.2 KB · Đọc: 10
Upvote 0

File đính kèm

  • Test.xlsm
    87 KB · Đọc: 12
Upvote 0
Bạn xem lại xem được chưa nhé.
Cảm ơn bạn. Cho mình hỏi, mình đang dùng 1 listbox và 1 textbox viết code tìm kiếm cho nhiều Page (mình có tới 22 Page). Vậy có thể viết chung một Code tìm kiếm dữ liệu cho nhiều Page được không ? (mình ví dụ nếu chọn Page 1 thì tìm kiếm dữ liệu của Page1 (page 1 lấy dữ liệu từ Sheet("TT_B1"), nếu chọn Page 2 thì tìm kiếm dữ liệu của Page 2 (page 2 lấy dữ liệu từ Sheet("TT_B2"),....
 
Upvote 0
Cảm ơn bạn. Cho mình hỏi, mình đang dùng 1 listbox và 1 textbox viết code tìm kiếm cho nhiều Page (mình có tới 22 Page). Vậy có thể viết chung một Code tìm kiếm dữ liệu cho nhiều Page được không ? (mình ví dụ nếu chọn Page 1 thì tìm kiếm dữ liệu của Page1 (page 1 lấy dữ liệu từ Sheet("TT_B1"), nếu chọn Page 2 thì tìm kiếm dữ liệu của Page 2 (page 2 lấy dữ liệu từ Sheet("TT_B2"),....
Có thấy dữ liệu ở 2 trang tính mới nói cụ thể được; Còn hiện thời thì nguyên lý là được.

Các danh sách cần phải có mã (duy nhất) cho mỗi người, ví dụ cụ thể như sau:

Họ và tên
LTM00Lò Thị Mai
VTA00Vừ Thị Ái
QTL00Quàng Thị Lân
NVA00Nguyễn Văn Ánh
PTB00Phạm Thị Bông
LVD00Lò Văn Dung
PTC00Phạm Thị Châu
VJD00Võ Dũng
VFD00Vũ Đức Dũng
LTM01Lê Thị Thanh Mai
VTA01Vừa Văn Thành Ang
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bạn. Cho mình hỏi, mình đang dùng 1 listbox và 1 textbox viết code tìm kiếm cho nhiều Page (mình có tới 22 Page). Vậy có thể viết chung một Code tìm kiếm dữ liệu cho nhiều Page được không ? (mình ví dụ nếu chọn Page 1 thì tìm kiếm dữ liệu của Page1 (page 1 lấy dữ liệu từ Sheet("TT_B1"), nếu chọn Page 2 thì tìm kiếm dữ liệu của Page 2 (page 2 lấy dữ liệu từ Sheet("TT_B2"),....

Mình làm ví dụ cho page1 và page2. Có nhiều hơn thì bạn có thể tự sửa nhé.
 

File đính kèm

  • Test.xlsm
    85.7 KB · Đọc: 18
Upvote 0
Mình làm ví dụ cho page1 và page2. Có nhiều hơn thì bạn có thể tự sửa nhé.
Cảm ơn nhiều. Em còn một vấn đề là, khi tìm thấy tên đảng viên mình cần rồi nhưng bấm chuột chọn đảng viên đó thì thông tin đảng viên đó đang hiển thị vào bảng thông tin chi tiết bên cạnh không đúng (em nghĩ là do Sub lstDS_Click() ở phía trên em listIndex trong listbox chưa đúng. Em có viết thử (phần ghi chú ngay đầu Sub lstDS_Click() ) nhưng chưa biết cách làm. Mong các bạn và thầy cô chỉ cho cách viết
Bài đã được tự động gộp:

Có thấy dữ liệu ở 2 trang tính mới nói cụ thể được; Còn hiện thời thì nguyên lý là được.

Các danh sách cần phải có mã (duy nhất) cho mỗi người, ví dụ cụ thể như sau:

Họ và tên
LTM00Lò Thị Mai
VTA00Vừ Thị Ái
QTL00Quàng Thị Lân
NVA00Nguyễn Văn Ánh
PTB00Phạm Thị Bông
LVD00Lò Văn Dung
PTC00Phạm Thị Châu
VJD00Võ Dũng
VFD00Vũ Đức Dũng
LTM01Lê Thị Thanh Mai
VTA01Vừa Văn Thành Ang
Dữ liệu ở hai trang tính em lấy ví dụ thôi, còn mã đảng viên ở trang tính 1 có rồi ạ, trang tính 2 chưa có mã. mã đảng viên em biết cách làm rồi ạ.
 
Upvote 0
Web KT

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

Back
Top Bottom