Vba 格式化公共函数的输出
如何获取日期格式的Vba 格式化公共函数的输出,vba,excel,Vba,Excel,如何获取日期格式的IsMonday()输出?函数当前的值为true或false。我试图将pubic变量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(i
IsMonday()
输出?函数当前的值为true或false。我试图将pubic变量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
如果您试图从函数中传递一个值作为日期,则必须将结果声明为日期
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
通常,当您使用isSomething()时,它应该返回布尔值True/False。我认为您试图以某种方式操纵日期。该函数的值是真是假,因为您明确表示它应该是通过让它返回
布尔值
。为什么您希望返回不同的内容?您能给出一些您期望的输入和相关输出的示例吗?我计划通过过程1传递public dt
,该过程通过IsMonday()计算dt
,然后过程2将用户的原始输入作为dt
从而IsMonday()
仅通过一个步骤(步骤1)使用。调用Main Sub过程时使用dt
作为参数,其中Main Sub根据公共dt
变量导入一个带日期的文件。