Excel 宏 - 保持源格式

发布于 2024-10-22 01:53:43 字数 695 浏览 6 评论 0原文

当我尝试在工作表之间复制数据时,这没有问题,但是当我尝试将相同的数据复制到 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文档中。我丢失了格式,我还使用 XP、office 2007。

When I try to copy data between worksheets this is no problem, but when I try to copy the same data to a word document it loses its format. Is there a way to stop this?

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

Could it be something with PasteSpecial?

Thanks.

@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

So this copies the data from cell C19(Sheet: Info) to cell B7(Sheet: Design)

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

This selects sheet Design, copies everything and pastes this into a word doc. I lose my formatting, I'm also using XP, office 2007.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉世弥音 2024-10-29 01:53:43

这是我的简单测试程序

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文档也包含一个带有格式化数字的表格。你能在你的身上试试看是否有效吗?

Here is my simple test program

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

This works with Office XP (I don't have Office 2007 at hand). Cells A1:B1 contain formatted numbers. This one works fine on my machine, the created word doc contains a table with formatted numbers, too. Can you try it on yours to see if it works?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文