从excel剪贴板粘贴而不解释日期

时间:2018-01-19 12:02:48

标签: excel vba excel-vba date paste

我正在尝试使用VBA将SQL查询的结果粘贴到Excel电子表格中,但它会不正确地解释日期,这意味着以后无法处理它们。

我的日期看起来像这样(tsv)

<WixVariable Id="WixUIDialogBmp" Value="[#CMP_Refresh_file]" />

如果您只是使用Ctrl + V粘贴到工作表中,那么这正是您所获得的。

但是,如果我使用,例如

Name    Total   Active  Start date  End date
xxxx    433 42  20/10/2017  09/01/2018

我得到了

Range("A1").Select
ActiveSheet.Paste

请注意结束日期从“09/01/2018”切换到“01/09/2018”

如何阻止VBA尝试预测我输入日期的格式?特别令人讨厌,因为现在开始日期是dd / mm / yyyy格式,而结束日期是mm / dd / yyyy,这意味着我不能在此后的宏的其余部分中一起处理它们。我想以原始的dd / mm / yyyy格式保存这两个数字(因为它们在输入中)。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

感谢Vacip,代码

Columns("D:E").NumberFormat = "@"
Range("A1").Select
ActiveSheet.Paste

似乎是一种享受。