Vba'da bir dizeyi tarihe dönüştürme (örneklerle)
Bir metin dizesini tarihe dönüştürmek için VBA’daki CDate işlevini kullanabilirsiniz.
Bu özelliği pratikte kullanmanın iki yaygın yolu şunlardır:
Yöntem 1: Varsayılan Biçimi (AA/GG/YYYY) Kullanarak Dizeyi Tarihe Dönüştürme
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = CDate(Range(" A " & i))
Next i
End Sub
Bu özel makro , A2:A8 aralığındaki her dizeyi, varsayılan tarih biçimi AA/GG/YYYY olan bir tarihe dönüştürecektir.
Örneğin, 15.04.2023 tarihli bir metin dizesi, 15.04.2023 tarihine dönüştürülecek.
Yöntem 2: Özel Biçim Kullanarak Dizeyi Tarihe Dönüştürme
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.YYYY ")
Next i
End Sub
Bu özel makro, A2:A8 aralığındaki her dizeyi MM.DD.YYYY biçimindeki bir tarihe dönüştürecektir.
Örneğin, 15.04.2023 tarihli bir metin dizesi, 15.04.2023 tarihine dönüştürülecek.
Aşağıdaki örnekler, Excel’deki aşağıdaki dize sütunuyla her yöntemin pratikte nasıl kullanılacağını gösterir:
Örnek 1: Varsayılan Formatı Kullanarak Dizeyi Tarihe Dönüştürme
A sütunundaki her dizeyi varsayılan AA/GG/YYY biçimindeki bir tarihe dönüştürmek için aşağıdaki makroyu kullanabiliriz:
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = CDate(Range(" A " & i))
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
B sütununun, A sütunundaki her dizeyi varsayılan tarih biçimi AA/GG/YYYY olan bir tarihe dönüştürdüğünü unutmayın.
Örnek 2: Özel Format Kullanarak Dizeyi Tarihe Dönüştürme
A sütunundaki her dizeyi MM.DD.YYY özel biçimine sahip bir tarihe dönüştürmek için aşağıdaki makroyu kullanabiliriz:
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.YYYY ")
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
B sütununun, A sütunundaki her dizeyi özel MM.DD.YYYY biçimindeki bir tarihe dönüştürdüğünü unutmayın.
Tarihleri istediğiniz formatta görüntülemek için VBA Formatı işlevini kullanmaktan çekinmeyin.
Not : VBA CDate işlevine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA’da string’i int’ye dönüştürme
VBA’da bir dize uzun dizeye nasıl dönüştürülür
VBA’da bir dize ikiye nasıl dönüştürülür