繁体   English   中英

Excel VBA-月以“ mmmm”格式

[英]Excel VBA - Month in “mmmm” 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

小写的“ m”是分钟。 大写字母“ M”表示月份。

您不需要使用Set 仅在将Object传递给变量时使用。
该行返回一个String而不是一个Object (例如,范围,工作表,图表等)

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM