VBA - 将日期从一个单元复制到另一个单元 - 奇怪的变化

时间:2016-04-22 08:54:45

标签: vba excel-vba excel

所以,这很奇怪,但这就是正在发生的事情。在我的代码中,我有以下几行:

tbl_Input.Cells(46 + (l_position - 1) * L_SIZE_BA, 12) = tbl_Input.Cells(46 + (l_position - 2) * L_SIZE_BA, 12)

应该简单地取tbl_Input.Cells(a,b)的值并将其放在tbl_Input.Cells(c,d)中。但是,Cells(a,b)的值是" 06.01.2016"当我运行代码时,我得到" 07.01.2020"。

如果我采用这样的文本属性,我得到了我想要的东西:

tbl_Input.Cells(46 + (l_position - 1) * L_SIZE_BA, 12) = tbl_Input.Cells(46 + (l_position - 2) * L_SIZE_BA, 12).Text

我的问题是:为什么我把07.01.2020放在第一位,当我不写.Text或.Value?

1 个答案:

答案 0 :(得分:0)

大约一年后,只是检查StackOverflow中的问题,这个问题的答案非常明显 - 我可能有ThisWorkbook.Date1904 = True

无论何时复制内容,它都会给出4年和1天的差异。

这是如何复制它:

Public Sub TestMe()

    ThisWorkbook.Date1904 = True
    Cells(1, 1) = Date
    Cells(2, 1) = Cells(1, 1)
    ThisWorkbook.Date1904 = False

End Sub