A função de ajustar data funcionou até a linha 13, depois disso ela passou a inverter as posições do dia e mês. Eu até tentei criar uma função apartada pra fazer essas linhas separadamente, mas está dando o mesmo erro.
A função de ajustar data funcionou até a linha 13, depois disso ela passou a inverter as posições do dia e mês. Eu até tentei criar uma função apartada pra fazer essas linhas separadamente, mas está dando o mesmo erro.
Oii, Vinicius! Tudo bem?
O bug pode ser gerado pela forma que a função fnAjustada
pode estar interpretando as datas.
Como sugestão para tentarmos é modificar um pouco o código. Segue um exemplo:
Function fnAjustaData(pData As String) As Date
Dim dia As String
Dim mes As String
Dim ano As String
dia = Mid(pData, 9, 2)
mes = Mid(pData, 6, 2)
ano = Right(Mid(pData, 1, 4), 2)
fnAjustaData = DateSerial(CInt(ano), CInt(mes), CInt(dia))
End Function
No código acima é extraído o dia, mês e ano separadamente da string de entrada. A função DateSerial
é usada para criar uma data válida para que a data fique certa.
Faça o teste e observe se funciona como esperado. Espero que dê certinho.
Bons estudos, Vinicius!