Excel VBA – “mmmm”格式的月份
我需要使用“mmmm”格式的当前和上个月,我发现最好的解决scheme是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
你不需要使用Set
。 只有在将Object
传递给variables时才使用它。
这一行返回一个String
而不是一个Object
(如范围,工作表,图表等)
MonthName(Month(SetupSheet.Range("C9"))) 'if C9 contains a valid date format
所以要将它传递给CurrentMonth
variables,只需使用=
sign指定它:
CurrentMonth = MonthName(Month(SetupSheet.Range("C9")))
小写字母“m”是分钟。 大写字母“M”表示月份。