为什么我的VBA脚本会更改日期格式?

时间:2014-02-21 08:05:26

标签: excel vba excel-vba datepicker

我在按钮上设置了一个脚本,以便将日期从单元格(由链接到单元格的日期选择器放入)复制到另一个工作表中的另一个单元格。

我的问题是我希望日期格式始终为dd/mm/yyyy。目前,如果我选择一个说"28/03/2014"的日期,那么它将完全按原样复制此日期。当我选择"02/03/2014"之类的日期时会出现此问题,现在由于某种原因,这会在复制时转换为"03/02/2014" (mm/dd/yyyy format)。我不知道它为什么会发生,甚至更多,为什么它只发生在'可能'正确的日期格式。

这是我用来复制日期的代码:

Worksheets("ActionPlan").Range("E" & (ActiveCell.Row)).NumberFormat = "dd/mm/yyyy"
Worksheets("ActionPlan").Range("E" & (ActiveCell.Row)).Value = Worksheets("Update").Range("G3").Value

2 个答案:

答案 0 :(得分:0)

复制数据后,添加以下代码行将格式修改为您想要的格式:

  Range("G7").NumberFormat = "m/d/yy;@"

要找出可以使用宏录制器的代码

答案 1 :(得分:0)

事实证明,我没有声明数组在复制之前将值存储为Date。我把它存储为整数,并试图在复制后将其转换为日期。

我现在将“dtValue”声明为日期,然后将日期从单元格G3转移到要复制的日期。