Lấy vùng dữ liệu sau khi dò tìm (1 người xem)

Liên hệ QC

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

thanhlong68

Thành viên chính thức
Tham gia
17/11/12
Bài viết
66
Được thích
2
Nhờ các anh chị giúp em bài làm bài này. Em có gửi trong file đính kèm. Em chân thành cám ơn
 

File đính kèm

Em nhập xuống các ô dưới tiếp theo các mã chính vào cột A thì không thấy cho ra được dữ liệu
Nhờ bác xem giúp em với
 
Upvote 0
Em cho chạy thử vẫn chưa được, em có gửi lại một vd để cho mọi người rõ hơn và giúp em.
 

File đính kèm

Upvote 0
Em cho chạy thử vẫn chưa được, em có gửi lại một vd để cho mọi người rõ hơn và giúp em.
Dữ liệu sheet DANH_SACH chẳng theo quy luật nào làm sao biết vùng dữ liệu nào để trích xuất? Nhờ mọi người làm mà đưa dữ liệu khiêm tốn vậy biết bao giờ mới có kết quả?
Còn nếu như file bài 1 thì bạn hungpecc1 đã giúp bạn mình thấy chạy tốt rồi mà
 
Lần chỉnh sửa cuối:
Upvote 0
Dữ liệu sheet DANH_SACH chẳng theo quy luật nào làm sao biết vùng dữ liệu nào để trích xuất? Nhờ mọi người làm mà đưa dữ liệu khiêm tốn vậy biết bao giờ mới có kết quả?
Còn nếu như file bài 1 thì bạn hungpecc1 đã giúp bạn mình thấy chạy tốt rồi mà
Chạy được nhưng từ dòng thứ 1000 trở đi là không còn chạy được nữa. Bác nào xem giúp em với. và hơn nữa phải coppy hoặc đánh từng mục một
Nếu pate 1 loạt mã code thì không thấy chạy được
 
Upvote 0
mình thử mài mò code bạn Hungpecc1, khi paste nhiều cell

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Arr
On Error Resume Next
Application.EnableEvents = False
If Not Intersect(Target, [A2:A1000]) Is Nothing Then
If Target <> "" Then
Arr = Module1.Filter2DArray(Sheet3.[A4:P1000], 1, CStr(Trim(Target)), False)
Target.Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
End If
End If
Application.EnableEvents = True
End Sub


khi paste thì target trở nên nhiều cell, nên nó sẻ báo lổi chổ màu đỏ,
chắc là phải turn on cái Application.EnableEvents = True khi target.rows.count>1, nhưng ko biết đặt nó ở đâu
nhờ ACe giúp đỡ.
túm lại trong trường hợp chung là: làm sao chạy event work_sheet change khi copy/paste
cám ơn ACe
 
Upvote 0
Nếu không giúp giùm em cho nó chạy tiếp từ sau dòng 1000, em nhập thử dữ liệu ở cell A1001 thì không có tác dụng nữa
 
Upvote 0
Nếu không giúp giùm em cho nó chạy tiếp từ sau dòng 1000, em nhập thử dữ liệu ở cell A1001 thì không có tác dụng nữa

bạn nhấn Alt F11, mở cửa sổ vba, nhấp vào sheet1. bạn sẻ thấy đạon code trên.

If Not Intersect(Target, [A2:A1000]) Is Nothing Then

sửa lại số 1000 thành bao nhiêu ngàn mà bạn thích

tương tự như vậy với nguồn
Arr = Module1.Filter2DArray(Sheet3.[A4:P1000], 1, CStr(Trim(Target)), False)
 
Upvote 0
Dữ liệu của em tương đối nhiều, nên nhập hoặc coppy và paste từng mã một thì cũng hơi mất thời gian, ai có thể giúp em sửa code để paste một dãy số có thể cho ra được kết quả thì tốt quá. Em cám ơn
 
Upvote 0

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

Back
Top Bottom