有没有一种简单的方法来复制ActiveSheet .PageSetup?

时间:2014-02-03 19:39:13

标签: excel excel-vba excel-2010 vba

似乎很简单,可能是“它是星期一”的情况但是我找不到这个答案..不必事先在字符串中记录所有的pagesetup变量,有没有办法复制工作表.pageSetup属性?

在一个宏运行中,我创建一个新页面,粘贴一些数据,更改一堆pagesetup设置,然后打印。我希望有一种方法可以预先保存页面设置,然后再次应用它,这样我的用户就不必担心修改设置了。

我试过了:

dim ws as worksheet
set ws = ActiveSheet.pageSetup

'settings change / print

ActiveSheet.pagesetup = ws.pagesetup

不起作用,因为ws.pagesetup现在链接到activesheet.pagesetup,所以只要我更改活动工作表设置,ws的设置也会改变。

我还尝试了set ws = sheets(1),因为新页面永远不是第一页,但随后ActiveSheet.pagesetup = ws.pagesetup也不起作用,它说object doesn't support this property or method

有简单的方法吗?我必须有20个不同的字符串变量来保存所有当前的pagesetup变量吗?

由于

2 个答案:

答案 0 :(得分:1)

当我想要完成这样的事情时,我会将所有格式和pagesetup内容保存到隐藏的工作表中。在合适的时间,我将我的代码复制并粘贴到我需要的所有地方。在这种情况下,最简单的方法是制作隐藏工作表的副本。然后转储您的数据并从那里开始工作。

答案 1 :(得分:1)

而不是将页面设置从主工作表复制到其他工作表:

  1. 创建主表
  2. 建立此单页的页面设置
  3. 制作主副本
  4. 使用数据,公式等填充副本
  5. 换句话说,预先考虑您的需求并提前设置表格。