Tìm kiếm nhiều lần từ TextBox và lưu lại lịch sử trên ListBox VBA.

Liên hệ QC

letienmai

Thành viên hoạt động
Tham gia
16/7/14
Bài viết
146
Được thích
45
Kính chào: các anh/chị.
Xin lỗi Admin nếu em có vô tình vi phạm nội quy diễn đàn ạ vì em sắp stress với vấn đề này.
1/ Hôm trước em được giúp đoạn code rất hay về việc tìm kiếm nhiều lần và lưu lại lịch sử của mỗi lần chọn trên ListBox từ TextBox (cụ thể ở Sheet 1_COLUMN). Tuy nhiên trong Data lúc đó em chỉ thiết lập 01 cột là Họ Tên, nay vì yêu cầu công việc em có phát sinh thêm các 03 cột nữa em có tự sửa lại code để mở rộng thêm cho phạm vi 04 cột nhưng em chỉ mò mẫm được code để tìm kiếm nhưng khi Click chọn thì nó không Select dòng đã được chọn để tìm kiếm cho các lần tiếp theo như ở Sheet 1_COLUMN;
2/ Thật sự em cũng đã tự thân vận động viết và test rất nhiều lần và rất nhiều ngày nhưng do kiến thức còn hạn hẹp và ít ỏi nên không biết xử lý ở đoạn nào và sai ở đâu;
3/ Em rất mong nhận được sự trợ giúp từ các anh/chị (Em có đính kèm file và dữ liệu ở Sheet MULTI_COLUMN ạ).
Thật lòng biết ơn mọi sự giúp đỡ và xin được hậu tạ ạ.
Trân trọng !
 

File đính kèm

  • Tim kiem va chon nhieu tren ListBox V2.xlsb
    87.2 KB · Đọc: 19
Đúng là đề bài cũng khá là hay nhưng trình mình cũng còn kém quá không giúp nổi, hóng các anh, chị tiền bối xem để mở mang tầm mắt. :D""":::":\
 
Upvote 0
Bạn thử tải về chạy xem đúng ý chưa nhé
 

File đính kèm

  • Tim kiem va chon nhieu tren ListBox V2.xlsb
    40.5 KB · Đọc: 21
Upvote 0
Trong Forms nhansu2 bạn thêm code sau vào nhé
Mã:
Private Sub bt_ghi_Click()
Dim i As Long, k As Long
    Dim n As String
    Sheet1.Range("M3:P1000").ClearContents
    k = 3
        With ListBox1
            For i = 0 To .ListCount - 1
                On Error GoTo tiep
                    If .Selected(i) = True Then
                        Sheet2.Cells(k, 13).Value = .List(i, 0)
                        Sheet2.Cells(k, 14).Value = .List(i, 1)
                        Sheet2.Cells(k, 15).Value = .List(i, 2)
                        Sheet2.Cells(k, 16).Value = .List(i, 3)
                        k = k + 1
                    End If
tiep:
                On Error GoTo -1
            Next i
        End With
    MsgBox "Done!", vbOKOnly + 64, "Thông báo"
End Sub
 
Upvote 0
Trong Forms nhansu2 bạn thêm code sau vào nhé
Mã:
Private Sub bt_ghi_Click()
Dim i As Long, k As Long
    Dim n As String
    Sheet1.Range("M3:P1000").ClearContents
    k = 3
        With ListBox1
            For i = 0 To .ListCount - 1
                On Error GoTo tiep
                    If .Selected(i) = True Then
                        Sheet2.Cells(k, 13).Value = .List(i, 0)
                        Sheet2.Cells(k, 14).Value = .List(i, 1)
                        Sheet2.Cells(k, 15).Value = .List(i, 2)
                        Sheet2.Cells(k, 16).Value = .List(i, 3)
                        k = k + 1
                    End If
tiep:
                On Error GoTo -1
            Next i
        End With
    MsgBox "Done!", vbOKOnly + 64, "Thông báo"
End Sub
Cám ơn anh đã quan tâm và giúp đỡ ạ. Nhưng em đang cần giúp đỡ ở sự kiện TextBox Change khi gõ vào ô tìm kiếm anh nhé. Mong anh hỗ trợ.
 
Upvote 0
Web KT

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

Back
Top Bottom