vba: Datum-Funktion liefert "00:00:00"

Meinem code unten liefert "00:00:00", wenn der übergebene Wert "DateValue" null

vba:

Public Function forDate(ByVal DateValue As String) As Date
Dim DoDate As Date
If Not IsNull(DateValue) And DateValue <> "" Then
DoDate = CDate(FormatDateTime(DateValue, 1, 10))
forDate = DoDate
End If
End Function

Zu behandeln, wie wenn "DateValue" null ist???
bitte deuten auf eine Antwort.

Wie bereits geschrieben, ist Ihre Funktion nicht definiert einen Rückgabewert für den Fall, dass Sie wollen - Sie benötigen mindestens ein 'else' - Anweisung?,,,
Meinst du, wenn DateValue ist Null-oder meinst du, wenn der Wert der Variablen DateValue ist die vier Briefe Wort "Null" ?
variable den Wert "Null".
Warum nicht Sie überprüfen die DateValue String vor dem Aufruf der Funktion? Das bedeutet, dass Sie diese Funktion aufrufen, die in einer Funktion. Wenn der Wert NULL ist Sie wieder leer-string ist, sonst können Sie wieder die date - format..
Weil Sie dimetioned DateValue als String (ByVal DateValue As String), Sie können NICHT übergeben Sie Null als argument. Wenn Sie versuchen, VBA wird ein Fehler ausgelöst und die Funktion wird NICHT evaluaterd.

InformationsquelleAutor user2002774 | 2013-02-27

Schreibe einen Kommentar