我有一个MMM格式的月份名称,例如Mar,我想在VBA中转换为数字。
在Excel中,您可以使用公式=Month("Mar"&1(来给出3
但是,以下内容在VBA中不起作用:Application.WorksheetFunction.Month("Mar" & 1)
我知道这在VBA中有效,但我很好奇为什么上面的快捷方式不起作用?:Month("01/" & "Mar" & "/2020")
VBA中是否排除了一些工作表函数?
是的,有很多函数没有等效的VBA。一个恰当的例子就是公式文本。原因是Excel VBA有一种更简单的方法来获得相同的输出。在您的情况下,VBA的工作表函数集下没有月份。请参阅下文。没有弹出任何内容。在此处输入图像描述
这将不起作用:
Sub sjkdffhs()
MsgBox Month("Mar" & "1")
End Sub
但这将:
Sub sjkdffhs()
MsgBox Month("Mar" & " 1")
End Sub
空格是识别日期所必需的。
使用&1
意味着什么,我认为您应该只使用类似于Month("Mar")
的东西