在Excel中将文本转换为数字

最近,我不得不在Excel中添加一列数字,这些数字是从网页中的表中复制并粘贴的。因为数字是由网页中的文本表示的(也就是说,数字“ 10”实际上是“十六进制3130”),所以该列的Sum函数只会得出零值。

您可以找到很多网页(包括Microsoft页面),这些网页只会为您提供无效的建议。例如,此页面...

http://support.microsoft.com/kb/291047

...给您七种方法。**有效的方法是手动重新输入该值。(Gee,谢谢,Microsoft。我从来没有想过。)我在其他页面上找到的最常见的解决方案是复制单元格,然后使用选择性粘贴粘贴值。那也不行。(在Excel 2003和Excel 2007上测试。)

Microsoft页面提供了一个VBA宏来完成这项工作(“方法6”):

Sub Enter_Values()    For Each xCell In Selection       xCell.Value = xCell.Value    Next xCell End Sub 

它也不起作用,但是您要做的就是做一个更改就可以了:

For Each xCell In Selection    xCell.Value = CDec(xCell.Value) Next xCell 

这不是火箭科学。我不明白为什么这么多页面有错误。