在excel中如何用VBA对指定单元格区域打印,求具体代码

如题所述

方法1:先用PrintArea 设置打印区域,然后再打印。这种设置将会保存到EXCEL文件中。比如:
Worksheets("Sheet1").PageSetup.PrintArea = "$A$1:$C$5"
Worksheets("Sheet1").PrintOut

方法2:直接打印指定区域,而不修改打印区域设置。比如
Worksheets("Sheet1").Range("$A$1:$C$5").PrintOut追问

那我在当前工作表操作需要打印另一个工作表单元格区域代码怎么写?

追答

Worksheets("Sheet1")就是指定工作表的,如果是指定工作表Sheet5,那就是Worksheets("Sheet5")了。
如果是还要指定其它工作薄,那就在前面再加一个WorkBooks(),比如要指定打印Book2文件中的Sheet3,就可以用:WorkBooks("Book2").Worksheets("Sheet3")

追问

我在你刚才说的代码前面加了一句调用打印机选择窗口
Sub 第一份()
Application.Dialogs(xlDialogPrint).Show '调用打印机选择窗口
Worksheets("sheet2").PageSetup.PrintArea = "$A$1:$E$10"
Worksheets("sheet2").PrintOut
End Sub
把这段代码指定给了sheet1 中的按钮1.但是打印的时候它还打印了sheet1中的数据,打印完sheet1才打印sheet2中的数据。
加QQ:582526585谢谢

追答

Application.Dialogs(xlDialogPrint).Show的对话框不光时选择打印机的对话框,还是一个打印对话框。
如果选完打印机点确定,那就会打印这个对话框中指定的内容,如果修改打印机后点后面的关闭,那么只修改当前打印机。
其实,不必每次都修改当前打印机,会比较麻烦,如果要在VBA中修改当前打印机而不打印建议用打印机选择对话框,而非打印对话框,如下:
Application.Dialogs(xlDialogPrinterSetup).Show

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网