复制和粘贴单元格的格式,包括颜色,使用VBA Excel。

3
wbTarget.Sheets("Sheet1").Range("A1:W79").Value = wb.Sheets(wsSource.Name).Range("A1:W79").Value

我有这段代码,可以将wb.Sheets(wsSource.Name)的值粘贴到wbTarget工作表中。但是,它只粘贴值而不包括格式/颜色。我该如何粘贴它,包括单元格的字体和颜色。


1
也许你可以打开宏录制器手动完成所需的操作,然后查看生成的代码。 - John Coleman
你想要等同于Ctrl-C-Ctrl-V的功能吗?也就是完全复制,还是仅需要值、字体和颜色? - CLR
1个回答

8

您需要使用复制粘贴特殊 xlValues粘贴特殊 xlFormats

' Copy
wb.Sheets(wsSource.Name).Range("A1:W79").Copy
' Paste Special
wbTarget.Sheets("Sheet1").Range("A1:W79").PasteSpecial xlValues
wbTarget.Sheets("Sheet1").Range("A1:W79").PasteSpecial xlFormats

在这里阅读关于Range.PasteSpecial的内容,微软开发者网络


谢谢你的帮助!我能把范围改成动态的吗?所以我希望可以动态地复制所有内容,而不仅仅是A1:W79。我应该如何替换它? - Ninja Dude
@Desmond,是什么在改变?行数?列数?还是两者都有? - Shai Rado
两者都可以改变。因此,如果工作表中包含A1:W79的数据,则我会复制并粘贴该数据。如果工作表中包含C3:F7的数据,则我会复制该数据。 - Ninja Dude

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接