2012-08-10 163 views
7

我有填充月份的下拉框。当选择一个月份时,我想将它转换为月份数字是否有可以做到这一点的功能?将月份名称转换为数字

例如,九月= 9

回答

30

另一种方式

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 

替换

+0

+1的完整工作! – 2012-08-10 13:51:15

4

尝试......

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

A1单元包含月份名称。

+1

+ 1对于Excel公式:) – 2012-08-10 04:13:13

+0

昨天我在看你的个人资料,当我看到这个问题,我很相信你会是第一个回答...但是当它不回应;我想让我试试看。谢谢!! – SiB 2012-08-10 05:23:25

+0

我已经知道了答案,但想在测试前三次测试(我必须说出一种奇怪的习惯):) – 2012-08-10 05:25:38

0
Sub month() 

Dim monthh As Integer 

monthh = month(Date) 

MsgBox monthh 

End Sub 

试试这个。

0

另一个Excel公式,其中A1是小区ID与一个月名称:

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

该解决方案并没有为我(Excel 2010中)工作,我不得不缩短一个月名3个字符,并添加在缩短的字符串前的一天数字。

=MONTH(1&LEFT(A1;3)) 
相关问题