【问题标题】:How to change from date format to number in Excel VBA?如何在 Excel VBA 中从日期格式更改为数字?
【发布时间】:2015-12-12 22:24:38
【问题描述】:

我将项目存储在字典中,键是日期,例如'2012/05/11' 默认情况下,密钥会更改为数字 (41040)。 当我想检索该项目时,我需要通过数字来引用它:dFRmonths.Item(41040)。由于 dFRmonths.Item("2012/05/11") 不存在。

我只有日期,没有数字,所以我需要将日期转换为数字,然后使用数字进行查找。

尝试将日期转换为数字会出现“溢出”错误:

IntMonth = CInt("2012/05/11")

知道如何将“2012/05/11”更改为 41040 以便我查找吗?

谢谢!

【问题讨论】:

  • 最大 Integer 值是 32767。将IntMonth 定义为Long,并使用DateValue 而不是CInt
  • 您还可以通过在将日期用作键之前将其转换为字符串来解决此问题。这样,字典键将保留 'yyyy/mm/dd' 格式。

标签: excel vba date numbers format


【解决方案1】:

一个小技巧!

Sub dural()
    IntMonth = CLng(CDate("2012/05/11"))
    MsgBox IntMonth
End Sub

这是因为 CDate() 非常灵活。

【讨论】:

  • 太棒了!现在意识到这个数字超过了整数限制(因此出现“溢出”错误)——我应该从一开始就使用 Long。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
相关资源
最近更新 更多