Excel VBA'da Yalnızca Kullanıcıdan Geçerli Tarihleri ​​Kabul Et

Anonim

Son görevimde, kullanıcıdan girdi kabul etmem gerekiyordu. Bir girdi değeri doğum tarihiydi ve elbette bir tarih olmalıdır. Yaptığım, girdiyi bir değişken veri tipinde saklamaktı. Bu, kodu hatasız hale getirdi ve kod, kullanıcının verdiği her değeri kabul ediyordu. Kod aşağıdadır:

Dim dob As Variant dob ​​= Application.InputBox("Doğum Tarihinizi Girin") 

Kullanıcı, geçerli bir tarih olmayabilecek herhangi bir değeri girebileceğinden, bu elbette yanlış bir yaklaşımdı.

İstediğim şey, kodumun herhangi bir geçersiz tarihi algılamasını sağlamak ve kullanıcıdan geçerli bir tarih girmesini ve alt yordamı sonlandırmasını istemek.

İşte kullanıcıların giriş olarak yalnızca geçerli bir tarih koymasına izin veren kod.

Sub check_date() Dim dob As Tarih Olarak Hatada Git Errorhandler dob = Application.InputBox("Doğum Tarihinizi Girin") Hatada GoTo 0 Debug.Print dob ​​Exit Sub Errorhandler: MsgBox "Lütfen geçerli bir tarih girin." Alt Bitiş 

Yukarıdaki kodu çalıştırdığınızda sizden doğum tarihinizi girmenizi isteyecektir. Geçersiz bir tarih girerseniz, sizden geçerli bir tarih girmenizi ve işlemi bitirmenizi isteyecektir.

O nasıl çalışır?

Yaptığımız ilk ve en önemli şey, beklenen tarihi saklamak için Date type değişkenini kullanmaktır. Şimdi, geçerli bir tarih olmayan bir değeri saklamaya çalışırsanız, "tür uyuşmazlığı" hatası verecektir.

Ardından, kullanarak bu hatayı yakalarız.Hata Üzerine Githata işleyicisi.

Hatada GoTo Errorhandler dob = Application.InputBox("Doğum Tarihinizi Girin") Hata GoTo 0'da 

On Error'ı kullanarak kontrolü, End Sub deyiminden hemen önceki Errorhandler etiketine atlarız. Böylece kullanıcıdan geçerli bir tarih girmesi istenir ve alt sona erer.

Hata İşleyici: MsgBox "Lütfen geçerli bir tarih girin." Alt Bitiş 

Kullanıcı geçerli bir tarih koyarsa, kontrol normal şekilde akar ve girdi dob değişkenine kaydedilir. Kontrol errorhandler'a gitmesin diye Exit alt deyimini koyduk ve işlemi orada sonlandırdık. Bu nedenle, tüm bitiş ifadelerinizi alt çıkıştan önce koyun. Ve bu kadar.

Evet arkadaşlar, bu şekilde kullanıcıyı yalnızca geçerli bir tarih girmesi için kısıtlarsınız. VBA tarihleri ​​veya Excel/VBA ile ilgili diğer sorgularla ilgili herhangi bir şüpheniz varsa bana bildirin. Aşağıdaki yorumlar bölümünde bize sorun.

VBA ile Tarih Zaman Damgası Ekle | Bu VBA Kodu kullanılarak belirli bir hücrenin doldurulduğu zaman damgasını girmek için. A sütununa herhangi bir değer girerseniz, B sütunundaki bitişik hücre otomatik olarak giriş zamanı ile dolar.

VBA'da Tarih ve Saat | Bu sayfada VBA'da Tarih ve Saat ile ilgili tüm konuları bulun.

VBA ile tarihi nasıl biçimlendirebiliriz? | Excel'de VBA kullanarak tarihin nasıl biçimlendirileceğini öğrenin. Kısa tarih numarasındaki hücreyi nasıl ve nerede biçimlendirebileceğimizi anlamak için bir örnek alalım.

Popüler Makaleler:

Verimliliğinizi Artıracak 50 Excel Kısayolu | Görevinizde daha hızlı olun. Bu 50 kısayol, Excel'de daha da hızlı çalışmanızı sağlayacaktır.

Excel'de DÜŞEYARA İşlevi | Bu, farklı aralıklardan ve sayfalardan değer aramak için kullanılan excel'in en çok kullanılan ve popüler işlevlerinden biridir.

Excel 2016'da EĞERSAY | Bu şaşırtıcı işlevi kullanarak değerleri koşullarla sayın. Belirli bir değeri saymak için verilerinizi filtrelemeniz gerekmez. Gösterge tablonuzu hazırlamak için Countif işlevi gereklidir.

Excel'de SUMIF İşlevi Nasıl Kullanılır | Bu, başka bir gösterge panosu temel işlevidir. Bu, belirli koşullardaki değerleri özetlemenize yardımcı olur.