VBA Dizeyi Tarihe Dönüştür

İçindekiler

Bu kısa eğitim, VBA'da bir Dizenin Tarihe nasıl dönüştürüleceğini gösterecektir.

Excel'deki tarihler sayı olarak depolanır ve ardından tarih olarak gösterilecek şekilde biçimlendirilir. Excel dünyasında 1. Gün 1 Ocak 1900 (Windows varsayılanı) veya 1 Ocak 1904 (Macintosh varsayılanı) idi - bu, 5 Ağustos 2022'nin 1 Ocak 1900'den bu yana 44413. gün olduğu anlamına gelir. Excel'de bir dizeyi tarihe dönüştürmek için , önce dizeyi bir sayıya dönüştürmemiz ve ardından bu sayıyı tarihe dönüştürmemiz gerekiyor.

CDate İşlevi

Bir dizeyi tarihe dönüştürmek için VBA'da CDate adlı bir işlevi kullanabiliriz.

1234567 Alt ConvertDate()Dim dte TekliDize Olarak Dim strDstrD = "05/10/2020"dte = CDate(strD)MsgBox dteAlt Bitiş

Sayısal bir değişken (dte as Single) bildirdiğimiz için, mesaj kutusu girilen tarihi ifade eden sayıyı döndürecektir.

Yılı, yıl rakamlarının 4'ünü de kullanarak girmemiz önemlidir (yani 2022 ve sadece 20 değil), aksi takdirde döndürülen sayı beklendiği gibi olmayabilir. Excel, tarihin yıl kısmını yorumlamaz - bu, bilgisayarımızın Kontrol Paneli tarafından kontrol edilir.

Ancak, değişkenleri tarih değişkeni olarak bildirirsek, mesaj kutusu tarihe dönüştürülen sayıyı döndürür.

1234567 Alt ConvertDate()Dim dte As TarihDize Olarak Dim strDstrD = "05/10/2020"dte = CDate(strD)MsgBox dteAlt Bitiş

Bunu bir adım daha ileri götürebilir ve tarihi, görmek istediğimiz tarih biçimi türüne göre biçimlendirebiliriz.

1234567 Alt ConvertDate()Dize Olarak Dim dteDize Olarak Dim strDstrD = "05/10/2020"dte = Biçim(CDate(strD), "gg mmmm yyyy")MsgBox dteAlt Bitiş

Bu örnekte, dizeyi bir tarihe dönüştürüyoruz ve ardından tekrar bir dizeye dönüyoruz!

Yılı tamamen atlarsak, Excel cari yılı varsayar.

wave wave wave wave wave