Excel VBA - “mmmm”格式的月份

时间:2015-03-22 00:55:52

标签: excel vba date excel-vba format

我需要以“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

2 个答案:

答案 0 :(得分:0)

小写&#39; m&#39;是分钟。大写&#39; M&#39;是一个月。

答案 1 :(得分:0)

您无需使用Set。如果您将Object传递给变量,则只能使用它 此行返回String而非Object(例如范围,工作表,图表等)

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

因此,要将其传递给CurrentMonth变量,只需使用=符号进行分配:

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