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

Pasting from excel clipboard without interpreting dates

我正在尝试使用 VBA 将 SQL 查询的结果粘贴到 excel 电子表格中,但它一直错误地解释日期,这意味着以后无法处理它们.

我的约会对象是这样的 (tsv)

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

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

但是,如果我使用,例如

Range("A1").Select
ActiveSheet.Paste

我明白了

Name    Vol Tot Start Date  End Date
xxxx    433 42  20/10/2017  01/09/2018

注意结束日期从“09/01/2018”更改为“01/09/2018”

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

如有任何帮助,我们将不胜感激。

感谢 Vacip,代码

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

似乎很有效。