Chỉnh Code để lọc giá trị trùng lập

Liên hệ QC

tuantait

Thành viên mới
Tham gia
29/9/22
Bài viết
6
Được thích
0
Em có tìm hiểu được đoạn code trên mạng về lọc giá rị trùng lặp ở những ô điều kiện mình muốn, nhưng có cách nào để em có thể thêm nhiều điều kiện lọc ở những ô mong muốn nữa được không ạ.
Ví dụ như trên đoạn code đang lọc giá trị ở C10-D11. em muốn lọc tiếp tục ở các ô khác tương tự như E10-E11 thì lúc này em phải làm gì tiếp theo ạ. xin nhận được sự góp ý của mọi người . em cảm ơn
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C10: D11")) Is Nothing Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If WorksheetFunction.CountIf(Range("C10: D11"), Target) > 1 Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "Item already selected, please try again."
End If
End Sub
 
Lần chỉnh sửa cuối:
Ca này khó quá, cíu không được.
 
huuhu dị sư phụ có cách nào tương tự giúp em với ạ :'( . Vd: C10: D11 có tên A rồi thì nhập tên A nữa sẽ nhận được thông báo là đã có tên đoại loại vậy ạ :~~~. cíu cíu cíu em ạ :D
Bài này thì cũng dễ thôi, đúng ra là có đáp án rồi. Nhưng tiêu đề không phù hợp nội quy và vấn đề rào cản ngôn ngữ đang hạn chế sự giúp đỡ từ người khác
 
lần đầu em đặt câu hỏi xin anh góp ý để em đổi tiêu đề. cảm ơn A ạ T.T
1/ Đầu tiên là bạn hỏi về VBA, thì phải đăng vào góc "Lập trình với Excel", cái này bạn không chuyển được, bạn nhờ các mod nếu thấy thì chuyển giúp
2/ Tiêu đề nên sát với vấn đề mình muốn xử lý, có thể là: "Chỉnh code cho phép nhập giá trị trùng lặp"
3/ Ngôn ngữ nên là ngôn ngữ thuần túy, viết đầy đủ câu chữ (không viết tắt), nội quy không đề cập quá nhiều về vấn đề này tuy nhiên đó là điều khiến nhiều người có hứng thú giúp đỡ bạn hơn.
4/ Xong điều 2 và 3 thì sẽ có người giúp đỡ!
 
1/ Đầu tiên là bạn hỏi về VBA, thì phải đăng vào góc "Lập trình với Excel", cái này bạn không chuyển được, bạn nhờ các mod nếu thấy thì chuyển giúp
2/ Tiêu đề nên sát với vấn đề mình muốn xử lý, có thể là: "Chỉnh code cho phép nhập giá trị trùng lặp"
3/ Ngôn ngữ nên là ngôn ngữ thuần túy, viết đầy đủ câu chữ (không viết tắt), nội quy không đề cập quá nhiều về vấn đề này tuy nhiên đó là điều khiến nhiều người có hứng thú giúp đỡ bạn hơn.
4/ Xong điều 2 và 3 thì sẽ có người giúp đỡ!
dạ em cảm ơn Anh nhìu đã giúp em góp ý để em xoá bài rồi đăng lên lại bên "Lập trình với Excel" thank kiu A :D
 
Vầy đúng không:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub

'range 1
If Not Intersect(Target, Range("C10: D11")) Is Nothing Then
If WorksheetFunction.CountIf(Range("C10: D11"), Target) > 1 Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "Item already selected, please try again."
End If
End if

'range 2
If Not Intersect(Target, Range("E10: F11")) Is Nothing Then
If WorksheetFunction.CountIf(Range("E10: E11"), Target) > 1 Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "Item already selected, please try again."
End If
End if


End Sub
 
Code vô dụng.
Nếu tôi chọn n ô, gõ dữ liệu và Ctrl+Enter thì code sẽ không hoạt động. Một đống trùng lặp chả lọc được.

Chú thích: tìm trùng thì dùng hàm Find chứ ai lại dùng CountIf. Find tìm đến khi gặp thì dừng. CountIf phải đọc hết Range.
 
Vầy đúng không:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub

'range 1
If Not Intersect(Target, Range("C10: D11")) Is Nothing Then
If WorksheetFunction.CountIf(Range("C10: D11"), Target) > 1 Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "Item already selected, please try again."
End If
End if

'range 2
If Not Intersect(Target, Range("E10: F11")) Is Nothing Then
If WorksheetFunction.CountIf(Range("E10: E11"), Target) > 1 Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "Item already selected, please try again."
End If
End if


End Sub
Dạ Đúng nó rồi em cảm ơn A rất nhiều nha.
 
Code vô dụng.
Nếu tôi chọn n ô, gõ dữ liệu và Ctrl+Enter thì code sẽ không hoạt động. Một đống trùng lặp chả lọc được.

Chú thích: tìm trùng thì dùng hàm Find chứ ai lại dùng CountIf. Find tìm đến khi gặp thì dừng. CountIf phải đọc hết Range.
Anh có cao kiến gì góp ý cho em thêm để em có thể hoàn thiện cái mục văn bản của em được không A. cảm ơn A đã quan Tâm ^_^
 
Web KT

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

Back
Top Bottom