插入时VBA更改单元格值

我为这个混乱的标题道歉。 我遇到了一个怪癖,我不知道如何描述,解决或修复。 我有一个项目,我从其他工作簿的价值拉,并希望从我传回原来的function集合中插入它。 我在debugging屏幕上打印出来,它是正确的值,如下所示:

9-06-01 

下一行我将它插入到适当的单元格中,如下所示:

 Dim item As Variant For Each item In someCollection Debug.Print item thisSht.cells(y, x).Value = item Next item 

当我把它插入单元格的值变成

 37140 

该值不打算被视为一个date,我认为这是擅长尝试自动格式,但似乎并不是这样,因为一旦我设置正确的单元格格式问题仍然存在。 它适用于其他一些值,如807-01-01。 任何帮助,将不胜感激。

它被视为一个date(2001年9月6日)。 要解决这个问题,你可以用'前缀'或格式化单元格为文本:

 thisSht.cells(y, x).Value = "'" & item 

要么

 With thisSht.cells(y, x) .Numberformat = "@" .Value = item End With