2014-12-04 54 views
0

如何以日期格式獲得IsMonday()的輸出?當前函數的值是真或假。我試圖通過公共變量dt作爲另外兩個子過程的參數。格式化公共功能的輸出

Option Explicit 
Public dt As Date 

Sub test2() 
MsgBox Date 

MsgBox dt 

MsgBox IsMonday(dt) 

End Sub 

Public Function IsMonday(inputdate As Date) As Boolean 

    Select Case Weekday(inputdate) 
     Case vbMonday 
      dt = Date - 3    
      'dt = Format(dt, "mmddyyyy") 
     Case Else 
      dt = Date - 1 
      'dt = Format(Date - 1, "mmddyyyy")   
      'dt = Format(dt, "mmddyyyy") 
    End Select 

End Function 
+2

通常,當您使用isSomething()它應該返回布爾真/假。我想你試圖以某種方式操縱日期。 – peege 2014-12-04 00:20:34

+0

函數的值是真或假,因爲你明確地說它應該是讓它返回'Boolean'。爲什麼你會期望有不同的東西能被退回? – 2014-12-04 00:24:47

+0

你能舉一些你期望的輸入和相關輸出的例子嗎? – Enigmativity 2014-12-04 00:36:34

回答

0

如果你想傳遞一個值從你的函數的日期,你要宣佈結果的日期......

Public Function IsMonday(inputdate As Date) As Date 

    Select Case Weekday(inputdate) 
     Case vbMonday 
      dt = Date - 3    
      'dt = Format(dt, "mmddyyyy") 
     Case Else 
      dt = Date - 1 
      'dt = Format(Date - 1, "mmddyyyy")   
      'dt = Format(dt, "mmddyyyy") 
    End Select 
IsMonday = dt 
End Function