我在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
答案 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