我需要以“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
答案 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")))