切片后,Excel VBA不会正确格式化日期

时间:2011-10-26 20:21:16

标签: excel vba date formatting slice

我是VBA的新手并且最近一直在阅读它,但我遇到了一个小问题,我似乎找不到答案。

我有一张电子表格,我需要将其格式化为一定数量的列,从一列中提取数据并将其重新格式化为另一列。

其中一列需要包含报告提交的周末日期 - 日期位于单元格(N10)中,如下所示:

周:2011年10月11日至10月11日36:02

所以我把这个单元格切成了一段,并用这段代码输入另一个单元格(C14):

 Range("C14") = "=Right($N$10, 9)"

我能够获得字符串“08 Oct 11”的部分,但无法将其转换为m / d / yyyy格式。这是我用来格式化为日期的代码部分:

 Columns("C:C").NumberFormat = "m/d/yyyy"

我想这个单元格需要格式化更多才能格式化为日期,但我不知道从哪里开始。

谢谢

1 个答案:

答案 0 :(得分:2)

Right函数将返回一个字符串,您需要将其转换为日期。您可以通过多种方式实现这一目标,一种方法是使用Value function

Range("C14") = "=Value(Right($N$10, 9))"

这将为C14提供值40824(有关说明,请参阅this),但在应用NumberFormat后,它将显示为10/8/2011。