将月份名称转换为数字

我有下拉框与月填充。 当select一个月,我想然后将其转换为月份编号是否有一个function,可以做到这一点?

例如。 9月= 9

其他方式

Excel公式

=MONTH(1&A1) 

VBA

 Sub Sample() Dim MonthNm As String MonthNm = "September" Debug.Print Month(DateValue("01 " & MonthNm & " 2012")) End Sub 

要么

 Sub Sample() Dim MonthNm As String MonthNm = "September" Debug.Print Application.Evaluate("=MONTH(1&" & Chr(34) & MonthNm & Chr(34) & ")") End Sub 

更换

尝试这个…

  =MONTH(DATEVALUE(A1&"1")) 

A1单元格包含月份名称。

 Sub month() Dim monthh As Integer monthh = month(Date) MsgBox monthh End Sub 

尝试这个。

另一个Excel公式,其中A1是月份名称的单元格ID:

 =TEXT(DATEVALUE(A1&" 1"), "m") 

这个解决scheme并不适用于我(Excel 2010),我不得不缩短月份名称为3个字符,并在缩短的string前添加date编号。

 =MONTH(1&LEFT(A1;3))