Excel:打印所有工作簿,但在打印之前刷新(重新计算)每个选项卡

Posted

技术标签:

【中文标题】Excel:打印所有工作簿,但在打印之前刷新(重新计算)每个选项卡【英文标题】:Excel : Printing all workbook but with refreshing (recalculating) each tab before printing it 【发布时间】:2018-04-23 09:56:04 【问题描述】:

我在打印正在使用的 excel 文件时遇到了一些问题。 该文件由一个主表和几个包含单独报告的工作表(使用主表中的数据)组成。

工作表由宏从模板生成,并自动命名。工作表中引用了工作表名称,我正在使用索引/匹配从主表中提取我需要的数据。所以这意味着当我在它们之间切换时需要不断地重新计算选项卡(并且有一小段 VBA 代码可以完美地完成它)。

我的问题是,当我想打印单个报告表时,它们都打印了相同的数据(因为它们的内容在打印之前没有单独刷新)。

有没有什么方法可以打印,不用一一选择,每次都单独打印?

我考虑了一些宏/vba 代码,可以将工作表作为值复制粘贴到另一个工作簿中,然后打印此工作簿,但我不确定它是否是最佳或最快的处理方式。如果有人可以帮助我,我将不胜感激。

谢谢!

【问题讨论】:

阅读:***.com/questions/154434/… 感谢您的回答,但这并不是我想要的。我知道工作表可以通过 vba 重新计算,我已经在这样做了,使用“Workbook_SheetActivate”事件。我正在寻找的是一种打印多张纸的方法,但通过在每次打印之间重新计算图纸。 【参考方案1】:

这是你的开始

  Sub S
  Dim ws as worksheet
  For each ws in worksheets
    ws.calculate
    'or call your recalc routine
    ws.printout
  next ws
  end sub

【讨论】:

感谢您的回答,这很有帮助。

以上是关于Excel:打印所有工作簿,但在打印之前刷新(重新计算)每个选项卡的主要内容,如果未能解决你的问题,请参考以下文章

Excel 怎样知道一个工作簿中工作表的个数?

所有Excel 文件打开显示“此工作簿包含一个或多个可能不安全的外部源的链接……”,怎么解决?

不同工作簿怎么合并 excel合并表格数据

怎样设定EXCEL整个工作簿的顶端标题栏?

使用宏刷新我的 excel 工作簿中的所有数据透视表

怎么把excel表格分两页打印出来