Bu dosya, belirli bir hücreye izin verilen karakter sayısından fazla veri girildiğinde kullanıcıyı uyaran bir örnektir. Kontrol yapılan hücre E17 olup sınır 8 karakterdir. Sınır aşıldığında girilen karakter sayısı ve eksiltilmesi gereken miktar bir mesaj penceresiyle bildirilir.
Dosyanın içeriği
- Sheet1: Kontrolün uygulandığı tek sayfadır. Karakter sınırı bu sayfadaki E17 hücresi için tanımlıdır; sayfada formül bulunmaz.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Makro, Sheet1 sayfa modülündeki Worksheet_Change olayında yer alır ve sayfada bir hücre değiştiğinde kendiliğinden çalışır; ayrıca çalıştırmak gerekmez.- Değişen hücrenin E17 olup olmadığı Intersect ile denetlenir; başka hücrelerdeki girişlere müdahale edilmez.
- Girilen değerin uzunluğu Len ile ölçülür.
- Uzunluk 8 karakteri aşarsa "InvalidEntry" başlıklı bir pencere açılır. Pencerede girilen karakter sayısı ve eksiltilmesi gereken karakter sayısı yazar; pencerede Durdur, Yeniden Dene ve Yoksay düğmeleri bulunur.
- Uyarıdan sonra imleç yeniden E17 hücresine alınır.
- Makro girilen değeri silmez ve değiştirmez; yalnızca uyarı verir. Dosya silme ya da dış bağlantı gibi işlem içermez.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sheet1 sayfasında E17 hücresine bir değer yazıp Enter tuşuna basın.
- Değer 8 karakteri aşarsa açılan pencerede belirtilen sayıda karakteri silerek girişi düzeltin.
- Farklı bir hücre ya da sınır için sayfa modülündeki makroda hücre adresini ve 8 değerini değiştirin; Alt+F11 ile VBA düzenleyicisi açılır.
- Dosya makro içerdiği için .xlsm biçiminde kaydedilmelidir.