VBA Excel - 将小数位数添加到整数

时间:2016-08-22 13:48:59

标签: excel vba

我真的不想问我应该能够通过快速搜索到搜索引擎来解决我的问题,但我看起来无济于事。

我从CSV中提取一些真正应该表示为小数但不是的数据(例如,它应该是757.46而不是75746)。使用格式(表达式,“货币”),格式(表达式,“固定”)等等,没有所需的效果。函数只是附加一个小数点和额外的零(75746.00而不是757.46)。是否有一种简单的方法可以指示模块采用整数,向右添加一个带有两个数字的小数,向左添加可变数字,而不添加任何额外的数字。我确信有一种方法可以通过转换为字符串,使用子字符串等来实现这一点,但我想尽可能避免这种情况。

谢谢!

3 个答案:

答案 0 :(得分:2)

如果使用Format(expresion, "Currency")给出75746.00作为单元格,则Format(expression/100, "Currency")应该给出正确的结果。您还需要检查表达式是否还没有小数点

答案 1 :(得分:1)

将您给出的数字除以100然后格式化为货币应该有效。

答案 2 :(得分:1)

使用下面的代码,它将遍历行并将列A中的原始值放在B列中:

Sub ChangeOrigFormat()

Dim lrow As Long

' modify to your last row , or use dynamic last row method
For lrow = 2 To 10

    ' put result on Column B
    With Cells(lrow, 2)
        ' looking in original values in Column A >> modify according to your needs
        .Value = Cells(lrow, 1) / 100
        ' using a decimal with 2 digits after the "."
        .NumberFormat = "0.00"
    End With

Next lrow

End Sub