Excel VBA - "mmmm" 格式的月份
Excel VBA - Month in "mmmm" format
我需要使用 "mmmm" 格式的当前和上个月,我找到的最佳解决方案是 MonthName(Month(Date))
。
然而,Excel 一直给我:
Compile Error: Object Required
这让我发疯。我是 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
小写 'm' 是分钟。大写 'M' 表示月份。
您不需要使用 Set
。只有在将 Object
传递给变量时才使用它。
此行 returns 是 String
而不是 Object
(例如范围、工作表、图表等)
MonthName(Month(SetupSheet.Range("C9"))) 'if C9 contains a valid date format
所以要将它传递给 CurrentMonth
变量,只需使用 =
符号赋值即可:
CurrentMonth = MonthName(Month(SetupSheet.Range("C9")))
我需要使用 "mmmm" 格式的当前和上个月,我找到的最佳解决方案是 MonthName(Month(Date))
。
然而,Excel 一直给我:
Compile Error: Object Required
这让我发疯。我是 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
小写 'm' 是分钟。大写 'M' 表示月份。
您不需要使用 Set
。只有在将 Object
传递给变量时才使用它。
此行 returns 是 String
而不是 Object
(例如范围、工作表、图表等)
MonthName(Month(SetupSheet.Range("C9"))) 'if C9 contains a valid date format
所以要将它传递给 CurrentMonth
变量,只需使用 =
符号赋值即可:
CurrentMonth = MonthName(Month(SetupSheet.Range("C9")))