试图获得两个日期,即上个月的第24个月和本月23日

时间:2018-03-01 12:41:46

标签: excel vba excel-vba date

我正在尝试将两个日期作为变体,因此我可以将它们交换进出每月运行的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

2 个答案:

答案 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