在Excel VBA中,我正在尝试从单元格中读取日期。单元格包含“dd.mm.yyyy”形式的日期(我在德国)。我需要具体的是月份。但是当试图阅读月份时,Excel每次都返回“12”。通过尝试Day()和Year(),我发现该单元格被识别为空白单元格,因此只返回12/30/1899的日期,显然正确输入了日期。
所以这就是我正在尝试做的不起作用(尽可能简单地说):
ActiveSheet.Range(“K2”)=月(B2)
你走了,我在K2得到一个“12”,当日期实际上是02.02.2016。
答案 0 :(得分:0)
您需要了解Excel将日期存储为数字,这些数字的格式设置为当前区域设置中的日期。 Excel可以显示的最早日期是1/1/1900,这是通用格式中的数字1。
2016年7月15日的日期是42566.这是自19/1年1月1日以来的天数。
要确定单元格是否包含实际日期,请尝试使用其他数字格式对其进行格式化。一旦确定它是一个数字并且可以格式化为日期,您可以继续进行下一个故障排除步骤。
您没有正确引用单元格B2。尝试
ActiveSheet.Range("K2") = Month(ActiveSheet.Range("B2"))