请问excel表格,如何用宏指定打印机,并批量打印指定名称工作表?

需要想要打印的表名称在sheet1中,如何实现批量打印。
(实际有一百多个不同名称的工作表,每次只打印其中的几十个左右,我想把名字写在sheet1中,利用VBA实现批量打印)

示例代码如下:

Sub 宏1()
    Dim r as Range
    For Each r In Sheets("Sheet1").Range("A4").CurrentRegion.Cells
        If Trim(r) <> "" Then
            Worksheets(r).PrintOut ActivePrinter:="Send To OneNote 2016"
        End If
    Next r
End Sub

如果使用默认打印机就不需要指定打印机名称为"Send To OneNote 2016",或者指定为你自己的打印机。

追问

您好!谢谢答复!现在运行后提示下标越界。有办法解决吗?

可以打印,就是最后一个选定表名的表打印不了,出现上面提示。

追答

下标越界是指定的表名不正确, 要复制、粘贴完全一致

追问

嗯嗯,明白了!非常感谢!

同一个文件里有多个扫描的图片文件,例如A公司,B公司,C公司……,请问能否根据Excel表里指定的名称,通过宏批量打印相对应名称的图片文件?

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