Lọc dữ liệu chỉ cần gõ điều kiện và enter (2 người xem)

Liên hệ QC

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

kydang1989

Thành viên chính thức
Tham gia
17/10/14
Bài viết
63
Được thích
3
Xin chào ace GPE
mình muốn khi gõ điều kiện cần lọc vào ô trên cùng và enter thì tự động nó lọc ra những dòng thỏa điều kiện đó (lọc trong cùng sheet đó luôn)
Có cả trăm NVL , nếu filter rồi tìm thì cực quá
trước đây có đọc 1 bài giống với bài của mình nhưng bây giờ không tìm ra
mong các ace giúp đỡ.
 

File đính kèm

Xin chào ace GPE
mình muốn khi gõ điều kiện cần lọc vào ô trên cùng và enter thì tự động nó lọc ra những dòng thỏa điều kiện đó (lọc trong cùng sheet đó luôn)
Có cả trăm NVL , nếu filter rồi tìm thì cực quá
trước đây có đọc 1 bài giống với bài của mình nhưng bây giờ không tìm ra
mong các ace giúp đỡ.
bạn dán code này vào sheet1 nha
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Range("$A$2:$P$30000").AutoFilter Field:=2, Criteria1:="*" & Range("B1").Value & "*"
End Sub
phần màu xanh lá là vùng dữ liệu
phần màu xanh dương là cột để lọc, ở đây là cột 2 (cột B)
lưu ý "*" tại phần tô đỏ
ví dụ bạn gõ vào B1 số 1
thì nó sẽ lọc tất cả mã có số 1 cho bạn, giống search "gu gồ" vậy đó
nếu bạn không muốn như thế thì bỏ "*" đi
 
bạn dán code này vào sheet1 nha
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Range("$A$2:$P$30000").AutoFilter Field:=2, Criteria1:="*" & Range("B1").Value & "*"
End Sub
phần màu xanh lá là vùng dữ liệu
phần màu xanh dương là cột để lọc, ở đây là cột 2 (cột B)
lưu ý "*" tại phần tô đỏ
ví dụ bạn gõ vào B1 số 1
thì nó sẽ lọc tất cả mã có số 1 cho bạn, giống search "gu gồ" vậy đó
nếu bạn không muốn như thế thì bỏ "*" đi

thanks bạn
đã lọc được cột B
còn cột C không lọc được hả bạn
ví dụ cột B mỗi 1 mã nó có nhiều vị trí ở cột C. Gõ cột B, rồi gõ tiếp cột C được không ?
 
Xin chào ace GPE
mình muốn khi gõ điều kiện cần lọc vào ô trên cùng và enter thì tự động nó lọc ra những dòng thỏa điều kiện đó (lọc trong cùng sheet đó luôn)
Có cả trăm NVL , nếu filter rồi tìm thì cực quá
trước đây có đọc 1 bài giống với bài của mình nhưng bây giờ không tìm ra
mong các ace giúp đỡ.
Không xem file nhưng
Cài luôn Office 2010 mà sử dụng bạn ah.
Vào Data/Filter (hình cái phễu)
Kích vào mũi tên tại cột cần lọc/nhập dữ liệu vào mục Search/Enter là ra kết quả.
Lọc nhiều cột đều được.
 
thanks bạn
đã lọc được cột B
còn cột C không lọc được hả bạn
ví dụ cột B mỗi 1 mã nó có nhiều vị trí ở cột C. Gõ cột B, rồi gõ tiếp cột C được không ?
thêm chút thôi bạn
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Range("$A$2:$P$57").AutoFilter Field:=2, Criteria1:= _
"*" & Range("B1").Value & "*"
ActiveSheet.Range("$A$2:$P$57").AutoFilter Field:=3, Criteria1:= _
"*" & Range("C1").Value & "*"
End Sub
 
Nó có thể là file bạn đang tìm nhớ lưu giữ cẩn thận
 

File đính kèm

Không xem file nhưng
Cài luôn Office 2010 mà sử dụng bạn ah.
Vào Data/Filter (hình cái phễu)
Kích vào mũi tên tại cột cần lọc/nhập dữ liệu vào mục Search/Enter là ra kết quả.
Lọc nhiều cột đều được.
người ta biết làm cái đó rồi bác ơi
làm biếng nhấn vào chọn giá trị lọc (mất mấy bước-> lâu) nên muốn gõ tay vào 1 ô để search cho nhanh ý mà
 
người ta biết làm cái đó rồi bác ơi
làm biếng nhấn vào chọn giá trị lọc (mất mấy bước-> lâu) nên muốn gõ tay vào 1 ô để search cho nhanh ý mà
Ah, nhầm cứ nghĩ file bài #1 là .xls và bạn đó dùng office 2003. hehe
Sử dụng công cụ có sẵn để làm việc không cần phải cót két, có phải hơn không bạn?
 
Ah, nhầm cứ nghĩ file bài #1 là .xls và bạn đó dùng office 2003. hehe
Sử dụng công cụ có sẵn để làm việc không cần phải cót két, có phải hơn không bạn?
đôi lúc công việc bắt buộc phải vậy mà bác
ví dụ như quản lý khu công nghiệp
tất nhiên khu công nghiệp nhiều nhân viên rồi
không lẽ ngồi kéo tìm tên người đó để lọc ra.
 
nhìn nó có vẻ không chuyên nghiệp bác à.

Đối với dân văn phòng mà kêu họ dùng VBA để làm việc này việc nọ là rất dở... Rồi phải hướng dẫn Enable Macro này nọ linh tinh quá rối. Đó là chưa nói đến chuyện một số nơi còn không cho dùng macro nữa kìa
Nói thật, tôi biết VBA cũng khá khá chứ trong công việc tôi hiếm khi dùng nó bao giờ. Chẳng hạn có tình huống cụ thể như sau:
- Văn phòng chính của cty gửi về các xưởng 1 danh sách tổng hợp về nghỉ phép của nhân viên (toàn cty khoảng 30,000 người)
- Mỗi xưởng tự lọc ra danh sách riêng cho xưởng mình

Yêu cầu này mỗi tháng làm 1 lần và tôi cũng chỉ cần Advanced Filter trong vòng 10s là xong (bởi mã NV tại xưởng mình thì tôi có sẵn rồi và lấy đó làm điều kiện lọc)
----------------
Bởi vậy tôi nghĩ có chuyên nghiệp hay không là ăn nhau ở hiệu quả công việc chứ không phải ở mấy chuyện màu mè hoa lá (có vẻ làm dáng nhiều hơn)
 
thêm chút thôi bạn
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Range("$A$2:$P$57").AutoFilter Field:=2, Criteria1:= _
"*" & Range("B1").Value & "*"
ActiveSheet.Range("$A$2:$P$57").AutoFilter Field:=3, Criteria1:= _
"*" & Range("C1").Value & "*"
End Sub
Cái này chèn thêm báo lỗi bạn ạ.
 
Cái này đúng là vấn đề mình đang muốn hỏi. Lúc đầu thấy khá hay.
Nhưng sau 1 thời gian tìm hiểu và dùng thực tế. Mình thấy dùng auto filter mặc định của office vẫn nhanh nhất.
Lý do là dữ liệu mấy chục dòng thì khá nhanh. Gặp dữ liệu lên đến 4000 dòng, 25 cột. Hoặc 3 cột, 50.000 dòng là file treo lag và chậm ngay.
Có bạn nào có giải pháp không?
 
Cái này đúng là vấn đề mình đang muốn hỏi. Lúc đầu thấy khá hay.
Nhưng sau 1 thời gian tìm hiểu và dùng thực tế. Mình thấy dùng auto filter mặc định của office vẫn nhanh nhất.
Lý do là dữ liệu mấy chục dòng thì khá nhanh. Gặp dữ liệu lên đến 4000 dòng, 25 cột. Hoặc 3 cột, 50.000 dòng là file treo lag và chậm ngay.
Có bạn nào có giải pháp không?
Giải pháp nằm ngay trong bài viết của bạn, là "dùng auto filter mặc định của office vẫn nhanh nhất".
 
Giải pháp nằm ngay trong bài viết của bạn, là "dùng auto filter mặc định của office vẫn nhanh nhất".
Tât nhiên là ưu tiên dùng chức năng mặc định của office.
Nhưng công việc mục đích chỉ muốn search, mà nó hay hơn ở chỗ nếu dữ liệu ít thì thao tác mất ít hơn, có khi search những từ nó rộng hơn. Dẫn đến sẽ nhanh hơn là mất vài thao tác ms filter được.
Giải pháp mình muốn hỏi là ở code ấy.
 
Cái này chèn thêm báo lỗi bạn ạ.
mình dùng bình thường mà đâu lỗi gì đâu. hay là lọc sai
ý bạn là thêm
ActiveSheet.Range("$A$2:$P$57").AutoFilter Field:=4, Criteria1:= _
"*" & Range("D1").Value & "*"
sai phải ko
cái này chẳng qua mình ghi macro Advanced Filter lại thôi
lý do sai thì mình chịu, kiến thức vba chả có nhiêu nên không chỉ bạn được rồi.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom