将数据从Excel导入Word - 格式编号用逗号

时间:2018-01-22 13:26:40

标签: excel vba ms-word format

我在VBA中创建了一个宏,允许我选择一个用数字填充的单元格,然后将该单元格中的数字拉到word文档中的特定位置。

然而,当我运行宏时,填充到Word中的数字没有使用逗号格式化以分隔数千(例如看起来像“10000”但需要看起来像“10,000”)。该数字已使用Excel中的逗号格式化,但格式不会延续到Word中。

如何在将数据从Excel提取到Word时用逗号格式化数字?

这是我到目前为止所做的:

Sub Excel to Word()
    Dim wrdApp As Word.Application
    Dim wrdDoc As Word.Document
    Dim i As Integer
    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True
    Set wrdDoc = wrdApp.Documents.Open("C:\Folder\qsn.docm")
    With wrdDoc

        'find text on word document
        .Application.Selection.Find.Text = "AL1"
        .Application.Selection.Find.Execute

        'now found, type text from designated cell
        .Application.Selection.TypeText ActiveSheet.Range("C2")

        'find text on word document
        .Application.Selection.Find.Text = "AL2"
        .Application.Selection.Find.Execute

        'now found, type text from designated cell
        .Application.Selection.TypeText ActiveSheet.Range("D2")

        If Dir("C:\Folder\QSN.doc") <> "" Then
            Kill "C:\Folder\QSN.doc"
        End If
        .SaveAs ("C:\Folder\QSN.doc")
        .Close ' close the document
    End With
    wrdApp.Quit ' close the Word application
    Set wrdDoc = Nothing
    Set wrdApp = Nothing
End Sub

3 个答案:

答案 0 :(得分:0)

如果您尝试以下操作该怎么办?

.Application.Selection.TypeText ActiveSheet.Range("C2").NumberFormat = "Standard"

答案 1 :(得分:0)

您可以使用Format功能格式化数字。

.Application.Selection.TypeText Format(ActiveSheet.Range("C2"), "#,##0.00")

答案 2 :(得分:0)

如果要传输单元格中的值,格式化单元格中的值,请使用单元格的Text属性而不是其(默认)Value属性:

.Application.Selection.TypeText ActiveSheet.Range("D2").Text