thanh tong
Thành viên hoạt động



- Tham gia
- 27/5/10
- Bài viết
- 122
- Được thích
- 11
Yêu cầu của bạn có thể sử dụng Data Validation được mà, chỉ là Validation không thông báo được vị trí trùng thôi.Chào các bạn!
Mình nhờ các bạn giúp hộ mình đoạn code hiện thông báo dữ liệu trùng tại vị trí ..và nhấn OK để chỉnh sửa dữ liệu vừa nhập( trùng trên 1 dòng). Các bạn xem file mỉnh gửi và giúp mình nhé.
Cảm ơn các bạn.
Vậy thì bạn sử dụng code này cho Sheet1 nhé:Mình không thạo về VBA nên mình muốn các bạn giúp mình đoạn code đó,nếu dùng Validation thì mình cũng biêt nhưng nó không có thông báo vị trí cột trùng đã có trước trong bảng.
Dùng thử Validation như vầy xem, nhưng nếu hàng ngàn dòng, hàng trăm cột thì không nên dùng.Mình không thạo về VBA nên mình muốn các bạn giúp mình đoạn code đó,nếu dùng Validation thì mình cũng biêt nhưng nó không có thông báo vị trí cột trùng đã có trước trong bảng.
Chỉ đơn giản là thay đổi lại nội dung của MsgBox thôi mà. Bạn thay dòng lệnhCode của bạn Nghĩa Phúc gần đúng ý của mình rồi chỉ có điều mình muốn nó hiện lên thông báo là ở cột thư mấy của bảng đó thôi chứ không phải là cột của sheet.Tức là cái số mình đã gi ở hàng trên cùng của bảng dữ liệu ấy (Tên của cột dữ liệu:1,2,3,4...hoặc A,B,C,D..).
Còn dùng Validation như của bạn Ba tê thì chưa đúng ý mình.
MsgBox "Da nhap gia tri " & Target & " tai o " & Rng.Address(0, 0)
MsgBox "Da nhap gia tri " & Target & " tai cot " & Intersect(Rng.EntireColumn, [C3:L3])
Bạn sửa lại câu lệnh này một chút:Đúng vậy bạn ạ nhưng mình test thì có vấn đề rồi, một số ô không hoạt động hơn nữa một số dòng chỉ nhập từ trái qua phải mới có thông báo. Bạn xem lại hộ mình nhé
Set Rng = Intersect(Target.EntireRow, [C:L]).Find(Target, , , xlWhole)
Set Rng = Intersect(Target.EntireRow, [C:L]).Find(Target, [COLOR=#ff0000][B]Target[/B][/COLOR], , xlWhole)
Cái vụ không phải nhập trực tiếp mà là liên kết từ ô khác thì đương nhiên là anh chàng Worksheet_Change bó tay rồi. Khi đó muốn kiểm tra thì phải có sub riêng và gọi nó mỗi khi muốn kiểm tra. Mà cứ nghĩ tới code cho phức tạp chứ có khi Conditional Formatting giải quyết vụ này lại êm đẹp gọn gàng hơn đấy. Chỉ cần Conditional Formatting và hàm CountIf thôi mà. Bạn thử xem!Mình mới test qua thấy OK rồi.
Nhưng lại mới phát sinh một vấn đề mới đó là khi mình áp dụng thì các ô có dữ liệu trùng đó nó không phải là mình trực tiếp nhập vào mà nó được liên kết từ ô khác do nên không hoạt động code được. Bạn có thể giải quyết vấn đề này giúp mình được không?