如何从具有VBA的单元格中读取格式化的百分比?

时间:2016-01-21 19:50:35

标签: excel vba ms-word format percentage

我从Excel电子表格中获取数据并将其插入Word文档。这是我正在使用的代码按预期工作。

Private Sub insertData(wb As Excel.Workbook)
    Dim numBM As Integer
    Dim countBM As Integer
    Dim currentBM As String

    numBM = ActiveDocument.Bookmarks.Count

    For countBM = 1 To numBM
        currentBM = ActiveDocument.Bookmarks(countBM).Name
        ActiveDocument.Bookmarks(currentBM).Range.Text = wb.Names(currentBM).RefersToRange.Value2
    Next
End Sub

在Excel中,我有一些百分比类型格式的单元格。因此,单元格的值为0.857394723,但单元格显示“86%”。如何更改我的代码,以便将“86%”插入Word而不是“0.857394723”

2 个答案:

答案 0 :(得分:1)

使用VBA标准库中的Strings.Format方法相应地格式化值:

Dim formattedValue As String
formattedValue = Format(wb.Names(currentBM).RefersToRange.Value2,"0%")

ActiveDocument.Bookmarks(currentBM).Range.Text = formattedValue

答案 1 :(得分:1)

我实际上找到了答案,这非常简单。而不是使用... RefersToRange.Value我可以使用... RefersToRange.Text所以行变为

ActiveDocument.Bookmarks(currentBM).Range.Text = wb.Names(currentBM).RefersToRange.Text