【问题标题】:Can't Get Excel to Print a Specific Worksheet Using VBA无法让 Excel 使用 VBA 打印特定工作表
【发布时间】:2015-04-01 13:41:07
【问题描述】:

假设我有一个包含 3 个工作表的工作簿,“工作表 1”、“工作表 2”和“工作表 3”。现在我只想打印“Sheet 1”,所以在 VBA 中我使用了

Sheets("Sheet 1").PrintOut

但宏仍会打印所有 3 个工作表。当我专门编写代码只打印 1 张时,发生了什么导致它打印所有 3 张纸?

Activesheet.Printout 'also print all worksheets.

我正在使用:Microsoft Excel Professional Plus 2010

【问题讨论】:

  • 什么版本的 Excel?
  • 希望这是您正在寻找的:Microsoft Excel Professional Plus 2010, 14.0.7128.5000
  • 查看the documentation,因为您的语法看起来正确。也许你有某种时髦的打印范围设置为打印所有 3 张。

标签: vba excel printing excel-2010


【解决方案1】:

试试这个,让我知道它是否适合你。

Sub PrintTest()
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name = "Sheet1" Then
            sh.PrintOut Preview:=False, ActivePrinter:="NameOfPrinter", PrintToFile:=True, PrToFileName:=PSFileName
        End If
    Next sh
End Sub

【讨论】:

  • “试试这个”通常更多的是评论而不是答案。
  • 很有趣,你建议我如何在评论中包含代码?
  • 在这种情况下,循环和变量是不必要的。但是,在PrintOut 上使用可选项目的定义的建议可能很重要。您可以使用反引号 ` 编写注释,显示要尝试的代码。
  • 是的,它对我很有用,感谢您的帮助。抱歉拖了这么久才回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多