Этот код находит любую дату в форме ####-##-##
.
Cells.Clear
s = "ETA : 2020-08-26 (Reference only, the date will be updated according to shipments)."
ReDim a(1 To Len(s))
For i = 1 To Len(s)
a(i) = IIf(Mid(s, i, 1) Like "#", "#", Mid(s, i, 1))
Next i
fd = "####-##-##"
Cells(1, 1) = s
aa = Join(a, "")
Cells(2, 1) = aa
Cells(3, 1) = Mid(s, InStr(aa, fd), Len(fd))
Cells(3, 1).NumberFormat = "yyyy-mm-dd"
Сначала он разбивает строку на массив и заменяет все цифры на #
. Затем он использует InStr
, чтобы найти совпадение с шаблоном шаблона fd
, и использует возвращаемое из совпадения значение, чтобы вернуть фактическую дату.