如何获得当前月份 (october month number)

我不能得到当前月份。

我不能得到当前月份。

这似乎很简单,以获得当前的xx年和一天,如测试与以下内容:

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

如何将当前月份显示为数字(1 、 2 等)或全名?

我可以在单元格中使用TODAY(),并在 VBA 中使用CurrentMonth = MonthName(Month(Sheet1.Range("A1")))进行转换,但我想直接在 VBA for Excel 中执行此操作。

34

试试看,

debug.print Format(Date, "mmm")       'Mar
debug.print Format(Date, "mmmm")      'March
debug.print Format(Date, "m")    '3
debug.print Format(Date, "mm")   '03
7
 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
6

找到一个更简单的解决方案来获取当前月份名称

只需使用MonthName(Month(Now))并将其分配给一个字符串。

Month(Now)为您提供月份编号,MonthName()使用该编号显示当前月份

3

一个真正有用和简单的方法是将格式功能与日期结合在一起。

示例(假设今天是 2019 年 10 月 23 日):

要将当前月份作为原始问题中的数字:

MsgBox Format(Date, "mm")

^ 将返回:10

要将当前月份作为简短文本:

MsgBox Format(Date, "mmm")

^ 将返回:10 月

要获取当前月份的全文:

MsgBox Format(Date, "mmmm")

^ 将返回:xx月

你也可以把这些与岁月结合起来。

其他示例:

MsgBox Format(Date, "dd-mmm-yyyy")

^ 将于 2019 年 10 月 23 日返回

MsgBox Format(Date, "dddd-mmmm-dd-yyyy")

^ 将返回:周三-xx月-23-2019

这是创建一个自定义格式,因此您可以重新排列 dd,mm,yyyy 区域,如您认为合适,例如:

MsgBox Format(Date, "yyyy/mm/dd")

^ 将返回:2019 / 23 / 10

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(51)
WindowsServerAD2022-使用PowerShell通过GPO将域用户添加到本地组“远程桌面用户”
上一篇
WiX:如何重新启动Windows资源管理器以安装 /卸载shell扩展
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(51条)