如题所述
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