Şirket içi bir uygulamadan veri dökümü / aktarma aracı olarak çalışan bir Excel elektronik tablom var.
E-tablo aynı zamanda ham bir veri giriş aracı olarak da hareket eder, çünkü değiştirilmiş bir e-tablo uygulamaya geri alınabilir. Gibi elektronik tablo zaman zaman dış kullanıcılara verilir.
Hücrelerin veri geçerliliği uygulanmış olduğu birkaç sütunu (3 ve 7 diyoruz). Mesele şu ki, doğrulama listeleri mutlaka sütundaki her hücre için aynı değildir. Örneğin, hücre (R1, C3) izin verilen A, B, C değerlerine sahip olabilir; hücre için (R2, C3) D, E, F; ve bunun gibi.
Sorun, kullanıcının hücreyi (R1, C3) ila (R2, C3) - normal kopyala / yapıştır yoluyla veya Aşağı doldur . Doğrulamanın hücre değerleri ve herhangi bir biçimlendirme ile birlikte kopyalandığı anlaşılıyor. Ancak şimdi hücre (R2, C3) geçersiz bir değer içeriyor - ancak doğrulama kuralı değerle birlikte kopyalanıp / değiştirildiğinden "hata" yakalanmadı. (Bu davranış kasıtlı olduğunu tahmin ediyorum.)
Bir hücrenin doğrulamasını "kopyalamanın" bir kopyası var mı, böylece kopya üzerine yazılmıyor mu?
Kullanıcılar hücre verilerini düzenleyebilmeyi beklemektedir, bu nedenle sayfayı korumak bir seçenek değildir. Mümkünse VBA’ya başvurmamayı tercih ederim - bu elektronik tabloların oluşturulduğu başvuru kısa sürede emekli olmakta, bu yüzden gerçekten bakım yükünü eklemek istemiyoruz.
Bunun mümkün olmayabilir olabileceğini biliyorum. (Ama sormak zorundayım.) Ayrıca bunun bir X Y sorunu ; Eğer soruna saldırmanın daha iyi bir yolu varsa, ben bütün kulaklarım
Worksheet_Change
1) olayda veri doğrulama işleminin kırılıp kırılmadığını kontrol edin, ardından tekrar kontrol edin (formül çok karmaşık değilse) veya 2) yapıştırmayı iptal edin ve PasteSpecial xlPatesValues
. Görmek için ikinci seçeneği test etmedim Cancel
kümeler Application.CutCopyMode = False
ancak, Yapmazsa, macunu değerlere çevirebilirsiniz.
paste special values
Bu durumda doğrulama kuralları geçerli olacaktır.