【问题标题】:Excel VBA - Month in "mmmm" formatExcel VBA - “mmmm”格式的月份
【发布时间】:2015-05-25 05:41:09
【问题描述】:

我需要使用“mmmm”格式的当前和上个月,我找到的最佳解决方案是MonthName(Month(Date))

但是,Excel 一直给我:

编译错误:需要对象

这让我发疯。我对 VBA 很陌生,所以谁能解释我在这里做错了什么?

Sub test()
    Dim CurrentMonth As Variant
    Dim PreviousMonth As Variant
    Set CurrentMonth = MonthName(Month(SetupSheet.Range("C9"))) '<-------HERE
    Set PreviousMonth = MonthName(Month(SetupSheet.Range("C9") - 1))
    ...
End Sub

【问题讨论】:

    标签: vba date excel format


    【解决方案1】:

    您不需要使用Set。仅当您将 Object 传递给变量时才使用它。
    此行返回 String 而不是 Object(例如范围、工作表、图表等)

    MonthName(Month(SetupSheet.Range("C9")))  'if C9 contains a valid date format
    

    所以要将其传递给CurrentMonth 变量,只需使用= 符号对其进行赋值:

    CurrentMonth = MonthName(Month(SetupSheet.Range("C9")))
    

    【讨论】:

      【解决方案2】:

      小写“m”是分钟。大写的“M”代表月份。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-29
        • 2015-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多