Bu dosya, bir UserForm üzerindeki TextBox nesnesine yazı yazılırken karakter sıra numarasının Label nesnesinde anlık olarak gösterilmesini örnekler. Karakter sınırı olan formlarda, yazım sırasında konum takibi yapmak için temel olarak kullanılabilir.
Dosyanın içeriği
- exceldestek.com | exceldepo.com: A1:D15 aralığında yer alan çalışma sayfasıdır. Sayfada formül bulunmaz.
- UserForm1: İçinde TextBox1, Label1 ve CommandButton1 bulunan kullanıcı formudur. Kod bu formun içindedir.
- Module1: Formu açan form adlı makroyu içerir.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme veya dışarıya bağlantı gibi zararlı bir işlem yoktur.- form: UserForm1.Show komutuyla kullanıcı formunu açar.
- TextBox1_Enter: TextBox'a odaklanıldığında i sayacını, kutudaki mevcut karakter sayısına (Len) eşitler.
- TextBox1_Change: Kutudaki metin değiştiğinde sayaç ile metin uzunluğunu karşılaştırır. Metin uzamışsa Label1'e "Karakter sıra numarası soldan" ifadesi ve sayaç değerinin bir fazlası yazılır, sayaç artar. Metin kısalmışsa sayaç bir azaltılır ve Label1 buna göre güncellenir.
- TextBox1_KeyDown: Tuşa basıldığında aynı sayaç mantığını çalıştırır. Kodda sağ ve sol ok tuşları için EVN_SAG ve EVN_SOL sabitleri tanımlıdır.
- CommandButton1_Click: End komutuyla çalışmayı sonlandırır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Geliştirici sekmesinden Makrolar penceresini açıp form makrosunu çalıştırın.
- Açılan formda TextBox1 içine yazı yazın; Label1 üzerinde karakter sıra numarası güncellenir.
- Formu kapatmak için CommandButton1 düğmesini kullanın.
- Limitli form çalışmalarında, kodlar Alt+F11 ile açılan VBA düzenleyicisinde UserForm1 üzerinden kendi ihtiyacınıza göre değiştirilebilir.