Excel VBA不会在切片后正确格式化date

我是VBA的新手,近来已经阅读了很多,但是我遇到了一个我似乎无法find答案的小问题。

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

其中一列需要包含报告提交的周末date – date在单元格(N10)中,如下所示:

星期:2011年10月11日36:02 10月11日 – 10月11日

所以我已经把这个单元格切分了,并用这一点代码把它input到另一个单元格(C14)中:

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

我能够得到string“08年10月11日”的部分,但不能得到它的am / d / yyyy格式。 这是我用来格式化date的代码的一部分:

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

我想这个单元格需要格式化更多,然后格式化为一个date,但我不知道从哪里开始。

谢谢

Right函数将返回一个string,您需要将其转换为date。 有多种方法可以做到这一点,一种方法可能是使用Value函数 :

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

这将给C14的价值40824(请参阅此解释),但一旦您应用您的NumberFormat将显示为10/8/2011。