code tìm kiếm theo cột họ và tên

Liên hệ QC

diemdiem

Thành viên hoạt động
Tham gia
23/11/10
Bài viết
148
Được thích
7
Tình hình là em có 1 file ds, trong đó có cột họ và tên, ví dụ như file rất dài có nhiều người chẳng hạn.
Giờ em muốn ngay trong ô b2, khi em nhập vào họ tên của 1 người, thì ở dưới cột họ và tên sẽ hiển thị ngay thông tin liên quan của người đó. Nếu không có thì vui lòng báo cho 1 msg gì gì đó chẳng hạn. Tức là liệt kê theo kiểu gần giống, rồi đến chính xác ý.
Trong file em gửi kèm có 1 code em xin trên mạng, mà em làm mãi ko được.
Nhờ các cao thủ giúp em với.
Em cảm ơn ạ.
 

File đính kèm

Tình hình là em có 1 file ds, trong đó có cột họ và tên, ví dụ như file rất dài có nhiều người chẳng hạn.
Giờ em muốn ngay trong ô b2, khi em nhập vào họ tên của 1 người, thì ở dưới cột họ và tên sẽ hiển thị ngay thông tin liên quan của người đó. Nếu không có thì vui lòng báo cho 1 msg gì gì đó chẳng hạn. Tức là liệt kê theo kiểu gần giống, rồi đến chính xác ý.
Trong file em gửi kèm có 1 code em xin trên mạng, mà em làm mãi ko được.
Nhờ các cao thủ giúp em với.
Em cảm ơn ạ.
bạn sửa cái code của bạn thế này nhé nó sẽ tìm đến dòng số 2 nhé
Mã:
ActiveSheet.ListObjects("stt").Range.AutoFilter Field:=2, Criteria1:="*" & [b2] & "*", Operator:=xlFilterValues
 
Upvote 0
Bạn không nên tìm theo trường [Họ Tên] vì nhiều nguy cơ . . . .
Bạn nên tạo mã duy nhất luôn cho 1 danh sách CSDL cho chuẩn, trước khi muốn làm việc gì khác;
Mình đề xuất bộ mã nhân viên của bạn như sau:
PHP:
[ATTACH=full]206916[/ATTACH]
Bạn thông qua mã NV CQ bạn như vậy (như trong ảnh) sẽ truy ra qui tắc tạo mã NV[/php]
 

File đính kèm

  • 1541149633901.png
    1541149633901.png
    51.8 KB · Đọc: 13
Upvote 0
Bạn không nên tìm theo trường [Họ Tên] vì nhiều nguy cơ . . . .
Bạn nên tạo mã duy nhất luôn cho 1 danh sách CSDL cho chuẩn, trước khi muốn làm việc gì khác;
Mình đề xuất bộ mã nhân viên của bạn như sau:
PHP:
[ATTACH=full]206916[/ATTACH]
Bạn thông qua mã NV CQ bạn như vậy (như trong ảnh) sẽ truy ra qui tắc tạo mã NV[/php]
Bạn lấy 3 chữ cái đầu tiên của "Họ-đệm-tên" làm mã NV. Bạn sử dụng hàm gì để trích xuất vậy?
Bài đã được tự động gộp:

bạn sửa cái code của bạn thế này nhé nó sẽ tìm đến dòng số 2 nhé
Mã:
ActiveSheet.ListObjects("stt").Range.AutoFilter Field:=2, Criteria1:="*" & [b2] & "*", Operator:=xlFilterValues
Hay quá bạn, nhưng nếu như mình bỏ cái text box đi, gõ trực tiếp vào b2 thì hay quá
 
Upvote 0
Hay quá bạn, nhưng nếu như mình bỏ cái text box đi, gõ trực tiếp vào b2 thì hay quá
Thay thử cái cũ bằng cái này:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
ActiveSheet.ListObjects("stt").Range.AutoFilter Field:=2, _
Criteria1:="*" & [b2] & "*", Operator:=xlFilterValues
End If
End Sub
 
Upvote 0
Thay thử cái cũ bằng cái này:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
ActiveSheet.ListObjects("stt").Range.AutoFilter Field:=2, _
Criteria1:="*" & [b2] & "*", Operator:=xlFilterValues
End If
End Sub
Bỏ luôn cái text box đi được k bạn?
 
Upvote 0
Thay thử cái cũ bằng cái này:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
ActiveSheet.ListObjects("stt").Range.AutoFilter Field:=2, _
Criteria1:="*" & [b2] & "*", Operator:=xlFilterValues
End If
End Sub
với cái này thì nó phải chạy sự kiện.không liên tiếp được giông
Bỏ luôn cái text box đi được k bạn?
bỏ được nhé bạn chỉ cần nhập vào Ô B2 rồi enter là được nó không giống cái ở trên là gõ câu nào nó ra luôn.mà đây mình phải enter mới được.
 
Upvote 0
với cái này thì nó phải chạy sự kiện.không liên tiếp được giông

bỏ được nhé bạn chỉ cần nhập vào Ô B2 rồi enter là được nó không giống cái ở trên là gõ câu nào nó ra luôn.mà đây mình phải enter mới được.
Bạn chỉnh code giúp mình với được ko? Bỏ luôn cái phần định dạng table rồi đặt tên vùng với. Vì mình thấy sau khi định dạng table của mình nó bị ẩn đi mấy cột
 
Upvote 0
Bạn chỉnh code giúp mình với được ko? Bỏ luôn cái phần định dạng table rồi đặt tên vùng với. Vì mình thấy sau khi định dạng table của mình nó bị ẩn đi mấy cột
Dùng Auto Filter, điều kiện "giống giống" ô B2.
 

File đính kèm

Upvote 0
Bạn chỉnh code giúp mình với được ko? Bỏ luôn cái phần định dạng table rồi đặt tên vùng với. Vì mình thấy sau khi định dạng table của mình nó bị ẩn đi mấy cột
Bạn xóa hết đi thay bằng code này xem thế nào nhé
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
Dim dk As String
Dim a As Long
         dk = "*" & Sheet1.Range("b2").Value & "*"
         a = Sheet1.Range("a" & Rows.Count).End(xlUp).Row
        Sheet1.Range("A3:l" & a).AutoFilter
        Sheet1.Range("A3:l" & a).AutoFilter Field:=2, Criteria1:=dk
End If
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom