Excel宏 - 保持源格式化
问题描述:
当我尝试在工作表之间复制数据时,这没有问题,但是当我尝试将相同的数据复制到Word文档时,它会丢失其格式。有没有办法阻止它?Excel宏 - 保持源格式化
' 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
这将选择片设计,拷贝和一切糊剂这成词doc。我失去了我的格式,我还使用XP,Office 2007中
答
这里是我的简单测试程序
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的(我没有办公室在2007手)。单元格A1:B1包含格式化的数字。这个在我的机器上工作得很好,创建的文档doc也包含一个格式化数字的表格。你可以尝试一下,看看它是否有效?
当我尝试这个,这工作正常,所有格式保持不变(使用Office XP)。我检查了数字格式和字体颜色。你能在一个小测试程序中重现这种行为吗? – 2011-03-15 14:30:41
编辑我的评论 – CustomX 2011-03-15 14:47:11
你为什么不看看PasteSpecial的文档,因为你建议它可能是你的解决方案(提示:这是,虽然我只有Excel的经验)。 – Romain 2011-03-15 14:53:23