0

こんにちは私は次のコードを持っています

Public Function checkDate(ByVal SomeDate As String) As Integer
If CDate("Sep 24 2012") >= CDate(SomeDate) Then
     Return 1
End If
Return 0
End Function

checkDate("January 1 2012")、または 9 月 24 日より前の日付を呼び出すと、1 が返されます。

ただし、checkDate("Sep 25 2012")、または 9 月 24 日以降の日付を呼び出すと、#error が返されます。

0 の戻り値ではなく、なぜこれが起こるのか説明できますか?

4

2 に答える 2

1

VBAはReturnを使用しません

Public Function checkDate(ByVal SomeDate As String) As Integer
    If CDate("Sep 24 2012") >= CDate(SomeDate) Then
        checkDate = 1
    Else
        checkDate = 0
    End If
End Function
于 2012-10-08T16:00:33.190 に答える
0

このコードはVBAで機能しました。SSRSで作業するためにこれをチェックしていません。

Public Function checkDate(ByVal SomeDate As String) As Integer
Dim dteCheck As Date
Dim dteSomeDate As Date

dteCheck = CDate("Sep 24 2012")
dteSomeDate = CDate(SomeDate)

If dteCheck >= dteSomeDate Then
    checkDate = 1
Else
    checkDate = 0
End If
End Function
于 2012-10-08T16:00:07.820 に答える