Excel宏 - 保持源格式

时间:2011-03-15 14:08:47

标签: excel excel-vba format ms-office vba

当我尝试在工作表之间复制数据时,这没有问题,但是当我尝试将相同的数据复制到word文档时,它会丢失其格式。有办法阻止这个吗?

' Copy all data from 1.xls to new.docx
Sheets("Design").Select
Range("A1:G50").Copy
appWD.Selection.Paste

可能是PasteSpecial的东西吗?

感谢。

@Brown

Select Case Range("C19").Value
    Case 1
        Sheets("Info").Select
        Range("B7").Copy Destination:=Sheets("Design").Range("A" & x)
        x = x + 2
End Select

因此,这将数据从单元格C19(工作表:信息)复制到单元格B7(工作表:设计)

' I open my word doc etc.
Sheets("Design").Select
Range("A1:E50").Copy
appWD.Selection.Paste

这将选择工作表设计,复制所有内容并将其粘贴到word doc中。我丢失了格式,我也使用XP,Office 2007.

1 个答案:

答案 0 :(得分:0)

这是我的简单测试程序

Sub test()
    Dim wrdApp As Word.Application
    Set wrdApp = New Word.Application
    Dim wrdDoc As Word.Document
    wrdApp.Documents.Add
    Set wrdDoc = wrdApp.ActiveDocument
    Range("A1:B1").Copy
    wrdApp.Selection.Paste
    wrdDoc.SaveAs "D:\tmp\myworddoc.doc"
End Sub

这适用于Office XP(我手头没有Office 2007)。单元格A1:B1包含格式化的数字。这个在我的机器上运行正常,创建的word doc也包含一个带有格式化数字的表。你可以试试看它是否有效吗?