Excel VBA当前获得月份

我一直在玩VBA的date ,无法获得当前的月份。 得到目前的年份似乎很简单,如下所示:

 MsgBox Year(Date) MsgBox Day(Date) MsgBox Year(Now) MsgBox Day(Now) 

举几个简单的例子。

但是怎样才能把当前的月份显示为一个数字(1,2等)或全名呢? 我可以在单元格中使用TODAY() ,并将其转换为类似CurrentMonth = MonthName(Month(Sheet1.Range("A1"))) VBA。 但我希望能够直接在Excel中使用VBA。

尝试,

 debug.print Format(Date, "mmm") 'Mar debug.print Format(Date, "mmmm") 'March debug.print Int(Format(Date, "m")) '3 debug.print Int(Format(Date, "mm")) '03 
  Month(Now) 

返回与当前月份相关的索引号。

下面Jeeped的代码是最紧凑的,但是为了让你了解索引是如何工作的,下面的代码将根据返回的索引返回月份名称:

 Dim months(11) As String months(0) = "Jan" months(1) = "Feb" months(2) = "Mar" months(3) = "Apr" months(4) = "May" months(5) = "Jun" months(6) = "Jul" months(7) = "Aug" months(8) = "Sep" months(9) = "Oct" months(10) = "Nov" months(11) = "Dec" Dim nowMonth As Integer nowMonth = Month(Now) For i = 0 To 11 If nowMonth = (i + 1) Then MsgBox (months(i)) End If Next