将Excel中的值从字符串更改为数字

时间:2012-08-03 09:32:04

标签: excel vba excel-vba number-formatting

我在VBA中编写了一个脚本,文本文件中的数字将插入到工作表中。插入值后,Excel建议我将值从字符串转换为数字。在单元格内部,出现绿色三角形。选择单元格后,您可以选择不同的选项来格式化单元格内的值。

我还尝试使用CDbl(string)将值转换为VBA的两倍,但没有任何反应。

更改NumberFormat也不起作用。我在VBA和Excel中尝试了不同的值。

我还尝试在选择方法的同时录制宏,但makro中没有任何内容保存。

有人知道怎么做吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

试试这个。我以单元格A1为例。此外,如果有小数值,则使用Long代替Double并相应地更改NumberFormat

Sub Sample()
    Dim clVal As Long

    With Sheet1.[a1]
        clVal = Val(.Value)
        .NumberFormat = "0"
        .ClearContents
        .Formula = clVal
    End With
End Sub

答案 1 :(得分:0)

看起来有点傻,但你试过Range("A1").Value = Range("A1").Value吗?

更一般地说,你可以遍历myrange,假设它是你要修复的范围:

For Each c in myrange
   c.Value = c.Value
Next