Excel怎样批量打印多个工作簿(文件)的每个表

2025-10-19 15:48:26

1、一个文件夹里有1000个格式一样的excel表,里面都是sheet1和sheet2两个sheet,全选1000个excel表打印,直接就出来了,但是只需要打印sheet1(sheet2是个大名单,打印完要很多页)……所以有什么好办法, 可以批量操作。(百度知道问题)

Excel怎样批量打印多个工作簿(文件)的每个表

Excel怎样批量打印多个工作簿(文件)的每个表

1、首先打开Microsoft Office Excel 2007,新建文档并保存文件名《Excel怎样批量打印多个工作簿(文件)的每个表.xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以),根据上次我分享经验《怎样批量提取文件夹下文件名》编制宏【B1输入列举文件名】,如下图。

Excel怎样批量打印多个工作簿(文件)的每个表

2、按下快捷键ALT+F11打开VBE(宏)编辑器界面,双击模块1,在“列举文件名”代码下面复制下面代码,如图。

Sub 批量打印文件每个表()

    '2020-8-15 21:28:01

    Dim m$, m1$, i%, r%, myt As Worksheet

    m = Range("b1").Text

    r = Range("B" & Rows.Count).End(xlUp).Row - 3

    If r = 0 Then Exit Sub

    On Error Resume Next

    Application.ScreenUpdating = False

    For i = 1 To r

        m1 = Range("b" & i + 3).Text

        If m1 <> "" Then

            Workbooks.Open m & "\" & m1

            For Each myt In ActiveWorkbook.Sheets

                myt.Select

                ActiveWindow.SelectedSheets.PrintOut Copies:=1

            Next myt

            ActiveWorkbook.Close SaveChanges:=False

        End If

    Next i

    Application.ScreenUpdating = True

    MsgBox "完成"

End Sub

Excel怎样批量打印多个工作簿(文件)的每个表

Excel怎样批量打印多个工作簿(文件)的每个表

3、完成上面两个宏编制,下面是运行宏操作,100个文件2个表全部打印。下面介绍操作步骤:

 回到Excel 界面,首先运行【列举文件名】宏,生成文件列表。

在B1单元格复制修改文件的文件夹路径,再点击命令按钮【B1输入列举文件名】,在B3下生成100个文件列表。如下图。

Excel怎样批量打印多个工作簿(文件)的每个表

Excel怎样批量打印多个工作簿(文件)的每个表

Excel怎样批量打印多个工作簿(文件)的每个表

4、然后运行【批量打印文件每个表】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名,执行),100个文件每个表全部打印,运行过程如下图。

Excel怎样批量打印多个工作簿(文件)的每个表

Excel怎样批量打印多个工作簿(文件)的每个表

1、如果是指工作表和打印多份,那怎样处理?首先增加一个命令按钮,命名为【E2、E4下填写批量指定表份数打印】(操作方法按我的《怎样批量Excel文件转文本文件》处理),在下面单元格直写内容。

E1 “打印份数”

E3 “打印指定表”

Excel怎样批量打印多个工作簿(文件)的每个表

2、按下快捷键ALT+F11打开VBA(宏)编辑器界面,双击模块1,在【批量打印文件每个表】代码下面复制下面代码,如图。

Sub 批量打印文件指定表份数()

    '2020-8-15 22:28:01

    Dim m$, m1$, i%, r1%, r2%, n%, j%, k%, myt As Worksheet, mb

    m = Range("b1").Text

    r1 = Range("B" & Rows.Count).End(xlUp).Row

    If r1 = 3 Then Exit Sub

    r2 = Range("e" & Rows.Count).End(xlUp).Row

    If r2 = 3 Then Exit Sub

    mb = Range("e4:e" & r2)

    n = Range("e2").Value

    On Error Resume Next

    Application.ScreenUpdating = False

    For i = 4 To r1

        m1 = Range("b" & i).Text

        If m1 <> "" Then

            Workbooks.Open m & "\" & m1

            With CreateObject("scripting.dictionary")

                For Each myt In ActiveWorkbook.Sheets

                    .Add myt.Name, i

                Next myt

                For k = 1 To n

                    For j = 1 To r2 - 3

                        If .Exists(mb(j, 1)) Then

                            ActiveWorkbook.Sheets(mb(j, 1)).Select

                            ActiveWindow.SelectedSheets.PrintOut Copies:=1

                        End If

                    Next j

                Next k

                ActiveWorkbook.Close SaveChanges:=False

            End With

        End If

    Next i

    Application.ScreenUpdating = True

    MsgBox "完成"

End Sub

Excel怎样批量打印多个工作簿(文件)的每个表

3、回到工作表窗口,命令按钮【批量填写修改文件表】引用宏【批量打印文件指定表份数】。

Excel怎样批量打印多个工作簿(文件)的每个表

4、操作实例:按上例文件打印份数和和表情况如下:

打印份数填写

E2:2

打印指定表填写

E4:Sheet1

E5:Sheet2

E6:Sheet3

Excel怎样批量打印多个工作簿(文件)的每个表

5、操作步骤:1、列举填写修改文件(B1填写,运行宏点 【B1输入列举文件名】),2、填写要填写修改数据E2,E列4行下面,再运行宏,点【批量打印文件指定表份数】,批量打印相应表和份数。

Excel怎样批量打印多个工作簿(文件)的每个表

Excel怎样批量打印多个工作簿(文件)的每个表

6、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢