我正在尝试将两个日期作为变体,因此我可以将它们交换进出每月运行的SQL查询(具有不同的句点)。我试图以"yyyy-mm-dd"
格式获取上个月的第24个月和当前月份的第23个月(当程序运行时)。"yyyy-mm-dd"
格式。我有这个代码,但它给了我错误的参数数量'作为错误,我不明白为什么。
Option Explicit
Sub mDateSet()
Dim fromDateFinal As String
Dim toDate As String
Dim toDateFinal As String
Dim fromDate: fromDate = Format(DateAdd("M", -1, Now), "yyyy-mmmm")
'Format gives 'wrong number of arguments or invalid property assignment error'
'trying to define two dates: the 24th of last month until the 23rd of this month)
'24th of last month
fromDateFinal = fromDate & "24"
Debug.Print fromDateFinal
'23th of this month
toDate = Format(Date, "yyyy-mm")
toDateFinal = toDate & "23"
Debug.Print toDateFinal
End Sub
答案 0 :(得分:4)
以下是操作日期和格式掩码的一些字符串日期。
fromDateFinal = format(date-day(date), "yyyy-mm-24") '2018-02-24
toDateFinal = format(date, "yyyy-mm-23") '2018-03-23
答案 1 :(得分:2)
如果Format(DateAdd("M", -1, Now), "yyyy-mmmm")
产生了该错误(wrong number of arguments or invalid property assignment error
)并且确实选择了Format
,那么Format
中的某个位置会定义另一个函数<Global>
或更多的论点。
试试VBA.Strings.Format(DateAdd("M", -1, Now), "yyyy-mmmm")
。
Strings.Format
是所需Format
函数的完全限定名称。
如果确实选择DateAdd
,那么可能相同。完全限定名称为VBA.DateTime.DateAdd
。