打印选定的工作表(Microsoft Excel)
如果您多年来积累了很多工作簿,则可能需要从每个工作簿中打印一些工作表。例如,您可能有一个文件夹,其中包含前十年公司各部门的工作簿。如果您的公司有八个部门,则意味着该文件夹中有80个工作簿。现在,如果您需要打印第二季度和第三季度的数据(从每个工作簿的第二和第三工作表中打印),则开始发现问题。加载每个工作簿,然后打印选定的工作表可能会花费大量时间。
一种更快的方法是创建一个将为您进行打印的宏。
下面的宏首先要求您提供目录路径。只要指定了路径,宏就会开始加载每个XLS(Excel)
目录中的文件,然后分别打印第二和第三工作表。打印完成后,工作表将关闭。
Public Sub PrintWorkbooks() Dim sCurFile As String Dim sPath As String 'Get the path sPath = InputBox("Starting path?", "PrintWorkbooks") If sPath <> "" Then On Error Resume Next Application.ScreenUpdating = False If Right(sPath, 1) <> "\" Then sPath = sPath & "\" End If sCurFile = Dir(sPath & "*.xls", vbNormal) Do While Len(sCurFile) <> 0 Workbooks.Open sPath & sCurFile, , True With Workbooks(sCurFile) .Worksheets(2).PrintOut .Worksheets(3).PrintOut .Close SaveChanges:=False End With sCurFile = Dir DoEvents Loop Application.ScreenUpdating = True On Error GoTo 0 End If End Sub
显然,如果目录中有很多工作簿,则打印可能要花费一些时间。您可能想找点时间无所事事,然后让宏开始运行。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2215)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: