Fungsi DateValue yang unggul bergantung pada wilayah. Jika Anda menguraikan string seperti "04-11-2008" di Eropa yang akan diuraikan pada 4 November dan di AS pada 11 April.
Untuk menyiasatinya, Anda dapat menggunakan fungsi DateSerial dan melakukan parsing sendiri. Ini juga dapat dengan mudah disesuaikan dengan format tanggal non standar Anda sendiri.
' 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