2014-10-07 54 views
0

对于易混淆的标题,我表示歉意。我遇到了一个怪癖,我不知道如何描述,解决或修复。我有一个项目,我从另一个工作簿中拉取值,并希望从我传回原始函数的集合中插入它。我打印出来的调试屏幕,这是正确的值如下:VBA在插入时更改单元格值

9-06-01 

非常下一行我将其插入到这样的合适的细胞:

Dim item As Variant 

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

当我将其插入到单元格的值变为

37140 

的值并不被视为一个日期,我认为这是EXCEL试图自动格式,但似乎并没有这样的情况,因为一旦我设定正确单元格格式化的问题仍然存在。它适用于其他一些值,如807-01-01。任何帮助,将不胜感激。

+0

是不是好,如果该项目是一个字符串? – 2014-10-07 14:00:30

回答

2

它被视为日期(2001年9月6日)。要解决,你可以使用前缀“或格式的单元格为文本:

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

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