Ev Social Media Excel VBA IsDate İşlevini anlama - mankenler

Excel VBA IsDate İşlevini anlama - mankenler

Video: Microsoft Excel VBA - Function 33 - ISDATE() 2024

Video: Microsoft Excel VBA - Function 33 - ISDATE() 2024
Anonim

VBA'nın IsDate işlevi, bir metin dizesinin bir tarih olarak yorumlanıp yorumlanamayacağını söyler. Örneğin, aşağıdaki ifadelerin tümü doğru olarak değerlendirilir:

IsDate ("5/25/2015") IsDate ("16 Ocak") IsDate ("12-1") IsDate ("12/1/15") IsDate ("2/30") IsDate ("30/2")

Son iki örnekte, IsDate'in gün ve ayın sırası hakkında seçici olmadığını fark ettik. Bu dizelerin her ikisi de tarih olarak yorumlanabilir, bu nedenle IsDate True değerini döndürür (sistem tarih format ayarlarınızdan bağımsız olarak).

İşte bir Microsoft Destek makalesinin bazı bilgileri:

VBA tarih işlevleri IsDate, Biçim, CDate ve CVDate, OLE Otomasyonu'nda (OleAut32.dll) bulunan bir işlevi kullanır. Bu işlev, tarihi temsil eden dizedeki her ayrılmış değerin simgeselleştirilmesi ile olası tüm tarih formatlarını arar ve girdinin bir Tarih olarak gösterilip gösterilemeyeceğini gösteren bir Boolean değeri döndürür.

Bu, 2 basamaklı bir yılı içeren bir tarihi yorumlamak için fonksiyonu kullanırken hatırlamak önemlidir. Farklı Yerel Ayarlar çeşitli tarih biçimlerini kullanır (yani, gg / aa / yy, yy / aa / gg, " DD MMM YY " , " YY MMM DD " vb.) Ve bu nedenle işlev, geçerli bir tarih bulana veya tüm olasılıkları tükenene dek tüm pozisyonlardaki basamakları dener.

IsDate bir dizgeyi tarih olarak algıladığından, dizenin güvenilir bir şekilde bir tarihe dönüştürülebileceği anlamına gelmez. Bazı durumlarda, sonuç belirsizdir. Örneğin, bu ifade ne için?

IsDate ("29 Şub 01")

29 Şubat 2001 geçerli bir tarih değildir. Bununla birlikte, bu ifade 1 Şubat 1929 (ve 2 Ocak 1929) geçerli tarihler olduğu için True değerini döndürür. Ve aynı 2029'da aynı tarihler.

IsDate dokümantasyonu için bir arama boş geldi. Sınama dayanarak, IsDate ayırıcı karakterler olarak eğik çizgi (/), tire (-), virgül (), nokta (.) Ve boşluk olarak aşağıdakilerin herhangi birini kabul eder.

Bu nedenle, aşağıdaki ifadeler True değerini döndürür:

IsDate ("5.1") IsDate ("30 6") IsDate ("30, 6") IsDate ("1/2")

Ancak,

IsDate ("5. 1. 05")

Bununla birlikte açıkçası, bu ifade False döndürür:

IsDate ("5. 1. 05")

("5. 1. 2005")

Kullanıcının bir tarih girdiği bir InputBox içeren bir UserForm oluşturduğunuzu varsayalım. IsDate'i girişi doğrulamak için kullanmanın çok güvenilir olmadığı açık olmalıdır.

IsDate'in zaman değerlerini de kapsadığını fark ettiğinizde işleriniz daha da kafa karıştırıcı hale gelir. (IsTime işlevi yoktur.) Böylece, aşağıdaki ifadelerin hepsi doğru döndürür:

IsDate ("4: 45") IsDate ("4.45") IsDate ("4 45") IsDate ("4/45 ") IsDate (" 24: 45 ")

IsDate (" 24: 45 ")

Bu ifadeler False döndürür:

IsDate (" 4: 60 ") IsDate bir Aralık bağımsız değişkenini ilettiğinizde bu türden garip şeyleri sergileyin. Örneğin:

IsDate (Range ("A1"))

IsDate'in bir tarih veya saat içeren hücreleri tanımlamada mükemmel bir güvenilirliği var gibi görünüyor. Örneğin, tarih olarak 5. 1 içeren bir hücreyi tanımlamaz. Kodunuzun bir dize bir tarih olarak yorumlanabilir olup olmadığını belirlemek gerekiyorsa, en iyi çözüm bu dize bir hücreye koymak ve daha sonra hücre içeriğini kontrol etmek için kod yazmaktır.

Excel VBA IsDate İşlevini anlama - mankenler

Editörün Seçimi

Excel 2016 Çalışma Kitabı Tasarlamak - kuklalar

Excel 2016 Çalışma Kitabı Tasarlamak - kuklalar

Tüm Excel 2016 çalışma sayfaları şablonlardan gelmemektedir. Çoğu zaman, belirli çalışma kitaplarının türlerinin üretildiği standart modeller olarak işlev göreceği düşünülen oldukça eşsiz elektronik tablolar oluşturmanız gerekir. Aslında, Excel'de oluşturduğunuz e-tabloların çoğu, bu türden olabilir, özellikle işiniz güvenmiyorsa ...

Excel 2013'teki Veri Formundaki Kayıtları Düzenleme - Veriler

Excel 2013'teki Veri Formundaki Kayıtları Düzenleme - Veriler

Veritabanından sonra yolda gidiyorsanız ve Excel 2013'te kayıt girmekle yetiniyorsanız, veritabanında düzenli bakım yapmak ve düzenlemek için veri formunu kullanmaya başlayabilirsiniz. Örneğin, değiştirmek istediğiniz bir kaydı bulmak için veri formunu kullanabilirsiniz ve sonra düzenlemeleri yapın ...

Bir Excel 2010 Tablosundaki Kayıtları Düzenleme - mankenler

Bir Excel 2010 Tablosundaki Kayıtları Düzenleme - mankenler

Kayıtları düzenlemeye veya silmeye ve masada rutin bakım yapmaya ihtiyaç duyarsınız. Kayıtları el ile çalışma sayfasında düzenleyebilir veya gerekli değişiklikleri yapmak için bir veri formu kullanabilirsiniz. Örneğin, bir veri dosyasını bulmak için veri formunu kullanabilirsiniz ...

Editörün Seçimi

Excel 2010 Grafiğine Veri Tablosu Ekleme - Excel 2010'da çekimser

Excel 2010 Grafiğine Veri Tablosu Ekleme - Excel 2010'da çekimser

Veri tabloları, grafiğin değerlerini grafiğin altındaki bir tabloda görüntüler. 3B grafik kullanırken olduğu gibi, grafiksel bir ekranla birlikte kesin değerleri görmeniz gerekirse yardımcı olurlar. Ayrıca, bazı çizelgelerde okunması zor olan veri etiketlerinden daha uygun olabilirler.

Excel Pivot Tablosuna Hesaplanan Öğe Ekleme - mankenler

Excel Pivot Tablosuna Hesaplanan Öğe Ekleme - mankenler

ÖğEleri bir Excel pivot tabloya ekler. Şimdi, açıkçası, hesaplanan bir öğe eklemek genelde mantıklı değil. Pivot tablolarınız için, eksiksiz, zengin bir Excel listesinden veya bazı veritabanlarından veri aldıysanız, öğe miktarlarını hesaplayarak veriler oluşturmak, biraz goofy'den daha fazlasını gerektirir. Ancak, ...

Editörün Seçimi

Ağınızı bir Güvenlik Testi için Nasıl Eşleştirilir - daha önce ağınızı haritalamanın parçası olarak mankenler

Ağınızı bir Güvenlik Testi için Nasıl Eşleştirilir - daha önce ağınızı haritalamanın parçası olarak mankenler

Güvenlik testi veya etik bir kesmek gerçekleştirirken, halka açık veritabanlarını ve kaynaklarını arayarak başkalarının sisteminiz hakkında ne bildiğini öğrenebilirsiniz. WHOIS aramaları En iyi başlangıç ​​noktası İnternet'te bulunan araçlardan herhangi birini kullanarak bir WHOIS araması gerçekleştirmektir. Içinde ...

Bir Ağdaki Spam'i En Düşük Düzeye Getirme - AYAKLAR

Bir Ağdaki Spam'i En Düşük Düzeye Getirme - AYAKLAR

Hiçbir antispam programı mükemmel değildir; belirli bir miktarda spam'ın gelen kutunuza geçmesini bekleyin. Alınmayan spam miktarını en aza indirgemek için siz (ve kullanıcılarınızın) aklınızda tutmanız gereken bazı ipuçları: Şifrenizi isteyen veya ...

Güvenlik Testi Sonuçlarını Birlikte Götürmek İçin - Güvenlik testi verileriniz olduğunda yalanlar

Güvenlik Testi Sonuçlarını Birlikte Götürmek İçin - Güvenlik testi verileriniz olduğunda yalanlar

- Belgelenen ekran görüntülerinden ve manuel gözlemlerden, kullandığınız çeşitli güvenlik açığı tarayıcıları tarafından üretilen detaylı raporlara kadar - ne yapıyorsunuz? Belgelerinizi ince dişli bir tarakla incelemeniz ve öne çıkan tüm alanları vurgulam