转贴:复制粘贴数据而不是公式excel VBA

好的,我必须重新发布这个,因为我的原始线程被标记为“原始”线程与我的问题没有任何关系的副本,并将其标记为副本的人无法提供答案。

有一个原因,为什么我在我的代码中使用activecell,因为它与outlook的交互和其他单元格的某些条件的validation。

ActiveCell.Cells(1, 37).Copy Destination:=wsTest.Range("A" & Rows.Count).End(xlUp).Offset(1) 

现在我试过了:

 ActiveCell.Cells(1, 37).Copy Destination:=wsTest.Range("A" & Rows.Count).End(xlUp).Offset(1).pastespecial 

但我得到错误1004。

如果有人在这里指出我: 如何在Excel中只粘贴值

请告诉我4个答案中的哪一个会真正起作用,因为他们中没有一个正在为我的目的而工作。

反转过程直接传递值。

 wsTest.Range("A" & Rows.Count).End(xlUp).Offset(1) = ActiveCell.Cells(1, 37).value 

.Value是单元格中的原始基础值或单元格中包含公式的结果。 .Value2将2015年2月18日之后的价值进一步剥离为42,053 。 如果您在单元格中使用了数字格式(例如2015年2月18日),并希望保留它,请使用.Text代替.Value