将小数转换为百分比

时间:2015-12-23 10:22:18

标签: excel vba excel-vba

我从外部来源收到如下数据

enter image description here

我需要的是将所有突出显示的数据转换为百分比,并且我不能在逗号后丢失该部分。 这是我到目前为止所尝试的:

For Each actCell In shRecipiente.ListObjects("tblRecipiente").ListColumns("All-In Rate").DataBodyRange
    If Not (Right(actCell.NumberFormat, 1) = "%") Then
        actCell.Value = Format(actCell, "#.####%")
    End If
Next actCell

但我得到的例子是396,83%而不是3,9683%

2 个答案:

答案 0 :(得分:1)

变化

actCell.value = Format(actCell, "#.####%")

actCell.value = Format(actCell / 100, "#.####%")

但是,如果它不是真正的%值,则需要将其更改为

actCell.value = Format(actCell, "#.####""%""")

或者如果您无法更改值,请尝试

actCell.Offset.NumberFormat = "#.####""%"""

答案 1 :(得分:0)

将数字除以100并格式化为百分比。

=A1/100

编辑 - 检查哪个格式为百分比,哪个不使用: =IF(CELL("format",A1)="P0",A1,A1/100) - P0表示百分比格式。 公式将显示没有百分比的所有数字,因此150%将显示为1.5,150将显示 然后,这只是将整个列格式化为百分比的情况。