/ / Ignorar tempo a partir da célula DateTime no Excel - excel, vba, excel-vba, datetime, excel-2013

Ignorar o tempo da célula do DateTime no Excel - excel, vba, excel-vba, datetime, excel-2013

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 № 1

IsEmpty(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.

insira a descrição da imagem aqui

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