Verileri kopyalayıp yapıştırırken başarısız olması durumunda veri doğrulaması nasıl korunur?


2

Önceden tanımlanmış bir liste tarafından bir sütunda veri doğrulama kullanıyorum.

ancak başka bir kaynaktan (Ctrl + V) verileri yapıştırarak kolayca kandırılabilir veya atlanabilir.

Öyleyse, kullanıcıyı nasıl koruyabilirim yanlış verileri giremez veya doğrulama listemden dışarı alamaz.

Teşekkürler


Şimdi onu nasıl koruyorsun?
gronostaj

Yanıtlar:


1

Bunun olmasını önlemek için pasta kancalarını / işleyicilerini kullanmayı deneyin.

Bu bir kesmek olabilir, ancak VBA’nızda, "yapıştırma" olaylarını başlatan sık kullanılan tuş / tıklama işlemlerine özel işlevleri bağlayabilirsiniz. Bu özel işlevler, yapıştırmadan etkilenen seçime erişebilir ve doğrulama komutlarını / özel altlıkları hemen uygulayabilir. Bu işlevselliğin örnekleri için, deneyin bu rehber (özellikle "Validasyon" başlığını taşıyan bölüm).

Bu, kullanıcıların ilk başta geçersiz veri yapıştırmalarını engellemez, ancak aynı anda amaçlarınız için yeterince yakın olabilecek geçersiz verilerin derhal iptal edilmesine neden olur.


1

Tutkal olaylarını ele geçirmek karmaşık görünüyorsa, alternatif bir çözüm sadece kullanmaktır. BeforeSave çalışma kitabının olayı. Bu, değerleri kontrol edin ve eğer yanlışsa, Kaydet ayarını iptal edin

Cancel = True

Kullanabilirsiniz Deactivate Bir çalışma sayfasının etkinliği ancak bu, devre dışı bırakmayı iptal etmenin basit bir yolunu değil, bir uyarı sunar. MsgBox gösterilebilir.


0

Rahul, şu anda benzer bir problem üzerinde çalışıyorum. Çok sayıda Excel forumunu ve MS yardım kurulunu bu konuda okudum, bunun gerçekten İKİ sorun olduğunu söyleyebilirim:

A) Excel'deki standart bir kopyala yapıştır, doğrulamaları kaynaktan hedefe kopyalar. Herhangi bir güvenceniz yoksa, bu bir kullanıcı içine yapıştırdığında özel sütununuzdaki doğrulamayı siler. B) Excel, tek hücrelerde doğrulama yapar, yapıştırma işlemlerinde değil. Oldukça zayıf.

A problemini sizin için çözebilirim; Ben B sorunu için özel doğrulama yapmak için VBA'ya ihtiyacınız olacağını düşünüyorum. VBA'da profesyonel değilim, o yüzden hangisinin işe yarayacağını gerçekten söyleyemem.

A sorunu için: İnceleme sekmesine gidin ve koruma sayfasını veya çalışma kitabı düzeyinde açın :) Bu çözümden bahseden kimseyi görmedim, ancak gerçekten iyi çalışıyor. Koruma açıldığında, kullanıcı sütununuzdaki doğrulamaları bir yapıştırma ile üzerine yazamaz.

Korunan bir sayfada bir kullanıcı için varsayılan haklar oldukça düşüktür. Kullanıcılarınızın satır silme yeteneği gibi çok fazla hakları olması gerekiyorsa, onay kutularını işaretleyerek Koru iletişim kutusunda ihtiyaç duydukları hakları etkinleştirin. Köprüler Ekleme dışında her şeyi etkinleştirdim ve koruma açık olduğunda hala onaylamanın üzerine yazamıyorum.

İşte size bazı alakalı bağlantılar:

http://www.mrexcel.com/forum/excel-questions/64596-data-validation-why-does-not-work-when-pasting-values.html

http://spreadsheetpage.com/index.php/tip/ensuring_that_data_validation_is_not_deleted/

https://social.msdn.microsoft.com/Forums/office/en-US/961e3921-5fd2-430e-bf50-aecb75a4fe05/excel-cell-data-validations-fails-on-copypaste

http://www.mrexcel.com/forum/excel-questions/519807-pasting-into-cell-data-validation.html

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.