Com uma string na célula A1 , esta fórmula:
=DATEVALUE(TRIM(LEFT(A1,11)))
dará a parte da data. (isso funciona se o dia for um dígito ou dois dígitos, o mês deve conter três caracteres) Se você tivesse dados com nomes completos de mês em vez de abreviações, obteríamos a data procurando as 3 < caractere de espaço sup> rd :
=DATEVALUE(TRIM(LEFT(A1,FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),3)))))
Para o VBA , experimente a seguinte função definida pelo usuário (UDF) :
Public Function DateMaker(s As String) As Date
Dim arr
arr = Split(s, " ")
DateMaker = CDate(arr(0) & " " & arr(1) & " " & arr(2))
End Function
com a formatação correta:
FunçõesDefinidaspeloUsuário(UDFs)sãomuitofáceisdeinstalareusar:
- ALT-F11exibeajaneladoVBE
- ALT-IALT-Mabreumnovomódulo
- coleomaterialefecheajaneladoVBE
Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx
PararemoveroUDF:
- abrirajaneladoVBEcomoacima
- limpeocódigo
- fecheajaneladoVBE
ParausaroUDFdoExcel:
=DateMaker(A1)
Parasabermaissobremacrosemgeral,consulte:
e
e para detalhes sobre UDFs, consulte:
As macros devem estar ativadas para que isso funcione!