Bu dosya, bir UserForm üzerindeki TextBox nesnesine tarih girişini ##.##.#### kalıbıyla sınırlayan bir makro örneğidir. Kullanıcı rakamları kalıptaki yerlerine yazar, noktalar sabit kalır; böylece tarih verisi gün.ay.yıl düzeninde girilir.
Dosyanın içeriği
- exceldestek.com | exceldepo.com sayfası: A2:C13 aralığında yer alan çalışma sayfasıdır. Sayfada formül bulunmaz.
- Module1: Formu açan form adlı makroyu içerir.
- UserForm1: Tarih maskesinin uygulandığı TextBox1 nesnesini ve olay kodlarını 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 formunu açar. Dosyadaki giriş noktası budur.
- UserForm_Initialize: Form açılırken TextBox1 için en fazla 10 karakter sınırı koyar, kutuya ##.##.#### metnini yazar ve ilk karakteri seçili hale getirir. Alana girildiğinde önceki seçimin korunması da bu bölümde ayarlanır.
- TextBox1_Change: Her karakter girişinden sonra bir sonraki karakteri seçer; seçilen karakter nokta ise imleci bir ileri alarak noktayı atlar.
- TextBox1_KeyDown: Tuşları yönetir. Sol ok ve Backspace bir karakter geri gider, sağ ok bir karakter ilerler, Home ilk karakteri, End son karakteri seçer. Delete tuşu seçili rakamı # ile değiştirir; nokta ise yerinde bırakılır. Hata oluşursa seçim başa döner.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Alt+F8 ile form makrosunu çalıştırın; UserForm1 açılır.
- TextBox1 içinde seçili karakterden başlayarak rakamları yazın; noktalar otomatik atlanır.
- Düzeltme için ok tuşlarını, Backspace veya Delete tuşunu kullanın.
- Kalıbı kendi çalışmanıza taşımak için UserForm1 ile içindeki kodları Alt+F11 penceresinden projenize aktarın.