2012-08-03 63 views
2

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

我也试图转换值在VBA与CDbl(string)但没有任何反应一倍。

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

我也试图录制宏在选择的方法,但没有任何保存在万客隆内。

任何人都知道如何做到这一点?

enter image description here

+0

这可能是最好的修改宏(脚本)。发布这样做的代码,我可能会修改它作为数字插入。 – 2012-08-03 09:38:29

回答

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 
+0

谢谢。忘记数组中的值包含一种类型。我把它转换成插入它,但再次从循环访问后,它再次是一个字符串。 – 2012-08-03 10:00:21

0

这可能看起来有点傻,但是你试过Range("A1").Value = Range("A1").Value

更一般地,你可以通过myrange循环,假设它是要修复的范围:即把文本文件数据到表

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

如果单元格被格式化为文本,这将无济于事。 :) – 2012-08-03 09:44:21