代码之家  ›  专栏  ›  技术社区  ›  ACrazyChemist

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

  •  0
  • ACrazyChemist  · 技术社区  · 7 年前

    我试图使用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
    

    注意结束日期从“2018年1月9日”切换到“2018年9月1日”

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

    任何帮助都将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  0
  •   ACrazyChemist    7 年前

    谢谢Vacip代码

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

    似乎很管用。