Excel'in DateValue işlevi bölgeye bağımlıdır. Avrupa'da "04-11-2008" gibi bir dizgiyi ayrıştırırsanız, 4 Kasım ve ABD'de 11 Nisan olarak ayrıştırılır.
Bunu aşmak için DateSerial işlevini kullanabilir ve ayrıştırmayı kendiniz yapabilirsiniz. Bu, kendi standart dışı tarih biçiminize de kolayca uyarlanabilir.
' Region independent date parsing
' Expects a datetimestr in the format "04-11-2008 21:39:39"
' The function VBA.DateTime.DateValue() mixes up the date and month in different regions
Function parseDateTime(dateTimeStr As String) As Date
Dim parts As Variant
parts = VBA.Strings.Split(dateTimeStr, " ")
Dim datePart As String, timePart As String
datePart = parts(0)
timePart = parts(1)
Dim dateParts As Variant, day As Integer, month As Integer, year As Integer
dateParts = VBA.Strings.Split(datePart, "-")
day = dateParts(0)
month = dateParts(1)
year = dateParts(2)
Dim parsed_date As Date, parsed_time As Date
parsed_date = VBA.DateTime.DateSerial(year, month, day)
parsed_time = VBA.DateTime.TimeValue(timePart)
parseDateTime = parsed_date + parsed_time
End Function