excelmacros将未格式化的文本数据更改为正确types的数据

我从DTS填充Excel工作表,但是由于DTS将单元视为varchar(255),因此得到的输出被格式化为文本。 我打算添加一个macros,将数值或date时间格式正确的值。 我会用什么VBA?

例如单元格中的值显示为“2009-01-01 00:00:00”。 如果按F2编辑单元格,然后按ENTER键,Excel会实现它的date,然后根据单元格格式进行格式化。 我想有一些VBA做同样的事情。

问题不在于单元格格式不正确,问题在于Excel将数据视为文本而不是date时间或数字。

似乎你可以只给自己的单元格或范围的值,并让Excel确定数据types。 你可以一次做到这一点,例如:

Worksheets("MySheet").Range("A:A").Value = Worksheets("MySheet").Range("A:A").Value