2015-04-15 142 views
0

我正在录制一个宏。有一列我试图转换为数字,所以我可以使用公式来计算。宏的Excel格式不正确

我使用VBA代码如下:

Columns("D:D").NumberFormat="0.00" 

Range("D:D").NumberFormat="0.00" 

细胞本身显示号码,但我仍然可以看到!标志旁边的小区,问我是否想从文本转换为数字。

我把鼠标移动到细胞和消息是The number in the cell is formatted as text or preceded by an apostrophe.

我能够通过点击!更改单元格,并从文本更改为数字输入。单元格E中的公式在我做完之后有效。我想知道是否可以在我的宏中写入一行来将此列D更改为数字。

+1

避免将'.NumberFormat'设置为完整的列引用。 '.UsedRange'会相应地进行调整,您将剩下一个超大的工作表和一个大的文件大小。 Ctrl + End变得无用。 – Jeeped

+1

@pnuts,我错过了。 '宏'标签已被删除。 –

回答

0

有几种方法可以将一列文本数字大规模转换为数字数字。根据我的经验,最快的方法是使用TextToColumns功能:

Range("D:D").TextToColumns Destination:=Range("D1"), DataType:=xlFixedWidth, _ 
    FieldInfo:=Array(0, 1), TrailingMinusNumbers:=True 
+0

谢谢你帮助我。你的陈述有效。 –