Thông báo dữ liệu bị trùng (3 người xem)

Liên hệ QC

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

mymichau

Thành viên hoạt động
Tham gia
28/11/06
Bài viết
172
Được thích
114
Em thường cập nhật dử liệu theo phiếu báo của cấp trên gởi đến.
Trong đó Em dùng cột D ( từ D5 ) để nhập dử liệu họ tên ( theo phiếu báo ). Nhưng do số liệu nhiều, có lúc trên gởi phiếu báo bị trùng nhiều lần, em không kiểm tra được nên nhập vào mà vẫn không biết. Vậy có cách nào, khi ta nhập trùng dử liệu ( họ tên cột D ), thì cảnh báo bằng hộp thọai cho biết rằng dử liệu bị trùng để không nhập.
Chú ý không dùng Validation được.
 
Không dùng validation được là ý làm sao bạn. Không dùng hộp thoại validation hay validation không làm được.
 
Em thường cập nhật dử liệu theo phiếu báo của cấp trên gởi đến.
Trong đó Em dùng cột D ( từ D5 ) để nhập dử liệu họ tên ( theo phiếu báo ). Nhưng do số liệu nhiều, có lúc trên gởi phiếu báo bị trùng nhiều lần, em không kiểm tra được nên nhập vào mà vẫn không biết. Vậy có cách nào, khi ta nhập trùng dử liệu ( họ tên cột D ), thì cảnh báo bằng hộp thọai cho biết rằng dử liệu bị trùng để không nhập.
Chú ý không dùng Validation được.
họ tên có thể trùng nhau được chứ bạn, bạn thử theo dõi trên số phiếu báo, mình thấy chặt chẽ hơn, mình vẫn thường làm trên Validation cũng hiệu quả. Mình chưa hiểu câu chú ý của bạn.
 
Để mọi người khỏi phái đoán già đoán non bạn bạn nên đính kèm file đó lên đi.
 
Em thấy Validation chỉ có hiệu quả đối với nhập trực tiếp từ máy thôi, còn nếu copy thì vẫn vô hiệu
 
Theo tui thì ta có thể cảnh báo nhập trùng bằng 2 cách:
1. Dùng Conditional Formatting: chẳng hạn khi nhập trùng thì ô nhập trùng sẽ tự động format: chữ sẽ màu đỏ, nền sẽ là màu xanh.
2. Dùng Data Validation: khi nhập trùng sẽ cảnh báo và không cho nhập, phải nhập lại.

Bạn ngại không dùng Validation chắc tại bạn ngại phải làm cái list nhập dữ liệu (theo tui nghĩ là vậy -- hỏng đúng thì bỏ qua nhé), ở đây tui dùng validation chỉ là làm điều kiện để cho phép nhập thôi, chứ không phải tạo ra cái list để lựa chọn.

Tui có đính kèm file sử dụng theo 2 cách trên.

Hy vọng nó giúp được bạn !
 

File đính kèm

Theo tui thì ta có thể cảnh báo nhập trùng bằng 2 cách:
1. Dùng Conditional Formatting: chẳng hạn khi nhập trùng thì ô nhập trùng sẽ tự động format: chữ sẽ màu đỏ, nền sẽ là màu xanh.
2. Dùng Data Validation: khi nhập trùng sẽ cảnh báo và không cho nhập, phải nhập lại.

Bạn ngại không dùng Validation chắc tại bạn ngại phải làm cái list nhập dữ liệu (theo tui nghĩ là vậy -- hỏng đúng thì bỏ qua nhé), ở đây tui dùng validation chỉ là làm điều kiện để cho phép nhập thôi, chứ không phải tạo ra cái list để lựa chọn.

Tui có đính kèm file sử dụng theo 2 cách trên.

Ý các bạn là dùng validation thì được rồi, tuy nhiên nhược điểm của nó là khi copy dữ liệu từ ô khác về ô có validation thì lúc này validation không còn hiệu lực nữa, vì ô hiện hành (có validation) đã bị copy đè lên nên mất luôn định dạng validation!

Có cách nào không dùng validation không?
 
Ý các bạn là dùng validation thì được rồi, tuy nhiên nhược điểm của nó là khi copy dữ liệu từ ô khác về ô có validation thì lúc này validation không còn hiệu lực nữa, vì ô hiện hành (có validation) đã bị copy đè lên nên mất luôn định dạng validation!

Có cách nào không dùng validation không?


Ở đây, chúng ta cần xác định quy trình nhập liệu:
- Nếu nhập liệu bằng tay (gõ dữ liệu vào ô): sử dụng cảnh báo bằng validation là trực quan nhất.
- Nếu nhập liệu bằng copy, paste từng dòng (không copy nhiều dòng cùng lúc, vì có thể có nhiều dòng trùng nhau): sử dụng Conditional Formatting là trực quan nhất. Nhưng lưu ý khi paste thì phải Paste value (Paste Special --> Value)
- Nếu nhập liệu bằng copy nhiều dòng (có thể có nhiều dòng trùng nhau): sử dụng Conditional Formatting cũng là trực quan, nhưng nếu nhiều dữ liệu trùng thì phải dùng các phương pháp tìm dữ liệu trùng để xử lý trước. Nhưng lưu ý khi paste thì phải Paste value (Paste Special --> Value).
- Nếu nhập liệu cả bằng tay và copy, paste từng dòng: sử dụng kết hợp cả Conditional Formatting và Validation là trực quan nhất. Nhưng lưu ý khi paste thì phải Paste value (Paste Special --> Value).

Tùy biến linh họat thôi !
 
Ý em không dùng Validation vì tên nhập vào rất nhiều, không thể tạo list trong Validation được.
Em muốn có sự thông báo nếu tên nhập bị trùng, sau đó dùng cách khác để xem việc trùng tên ấy có phải là dữ liệu đã nhập trước không. Nếu có trùng tên, nhưng không phải dữ liệu trước thì em tiếp tục nhập thêm vào.
Dùng cách Conditional Formatting của bạn id_unique cũng đạt được yêu cầu. Cám ơn bạn nhiều.
 
Lần chỉnh sửa cuối:
Ý em không dùng Validation vì tên nhập vào rất nhiều, không thể tạo list trong Validation được.
Em muốn có sự thông báo nếu tên nhập bị trùng, sau đó dùng cách khác để xem việc trùng tên ấy có phải là dữ liệu đã nhập trước không. Nếu có trùng tên, nhưng không phải dữ liệu trước thì em tiếp tục nhập thêm vào.
Dùng cách Conditional Formatting của bạn id_unique cũng đạt được yêu cầu. Cám ơn bạn nhiều.
Không phải là tạo danh sách nhập mà là cảnh báo có dữ liệu trùng. Bạn xem trong file nhé.
 

File đính kèm

Nếu không muốn dùng Validation thì dùng VBA vậy, bạn xem thử file này.
 

File đính kèm

To anh Salam, Transongngocquan.
Phương pháp thông báo trùng tên, nhưng vẫn cho nhập tiếp dữ liệu của 2 anh đúng theo yêu cầu. Cảm ơn các anh nhiều.
 
Nếu không muốn dùng Validation thì dùng VBA vậy, bạn xem thử file này.
Bạn transongngocquan dùng vòng lặp từ đầu đến cuối như vậy sẽ có thể lâu hơn phương thức FIND()
VD
Dim Rng As Range, Clls As Range
Set Rng = Range("B2:B" & Target.Row- 1 )
Set Clls=Rng.Find(What:=Target.Value, After:=[B1], SearchDirection:=xlPrevious)
If Not Clls Is Nothing Then MsgBox "Da Trung"
 
Web KT

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

Back
Top Bottom