Estou usando o VBA para capturar a entrada de dados em umcélula. O problema que tenho é que, se a célula estiver em branco, o VBA a lê como 12:00:00 AM, então minha função ISDATE () no VBA a vê como uma data, mas o código explode porque não é uma data real. Qual a sintaxe do VBA que pode verificar para verificar se a célula contém um DATE?
Esta é a minha sintaxe atual
Sub IsDate()
Dim d1 As Date
d1 = CDate(Range("A1").Value)
If IsEmpty(Range("A1")) = False Then
If IsDate(d1) = True Then
"Continue
End If
End If
Respostas:
0 para resposta № 1IsEmpty(Range("A1"))
lhe dará resultados inconsistentes uso Range("A1").Value <> ""
.
Não nomeie suas sub-rotinas depois de embutidas em métodos VBA Por exemplo Sub IsDate()
Sobrescreverá o método VBA e causará estragos.
Sub TestIsDate()
Dim d1 As Date
If Range("A1").Value <> "" And IsDate(Range("A1").Value) Then
d1 = CDate(Range("A1").Value)
End If
End Sub