O problema está na string.
31/9/13 não é uma data válida.
31/9/2013 também não é uma data válida.
Estou tentando atualizar automaticamente o período na parte superior do meu relatório no Excel com base no intervalo de datas dos dados obtidos por download de um banco de dados de texto. Na macro listada abaixo, recebo um erro em tempo de execução '13': Incompatibilidade de tipo em PEndDt = Right(PaidDateRange, 8)
.
Acho que a variável Date, PEndDt, não gosta de obter uma String. Mas eu tenho atribuído strings para variáveis de data em outras macros! Eu não sei agora como consertar isso. Ajuda por favor.
Sub test()
Dim PEndDt As Date
Dim PaidDateRange As String
PaidDateRange = "PAID DATE 1/01/13 - 9/31/13"
PEndDt = Right(PaidDateRange, 8)
Range("A1") = "Report thru " & Format(PEndDt, "Long Date")
End Sub
Você terá que analisar a string em formato mês, dia e ano
Dim itemDate as String
itemDate = Right(PaidDateRange, 8)
PEndDt = DateSerial(Right(itemDate, 2), Left(itemDate, 2), Mid(itemDate, 4, 2))
Se você acabou de colocá-lo em uma string por que converter em data?
Range("A1") = "Report thru " & Right(PaidDateRange, 8)