Barbara有一个工作表,需要定期打印。

有时她只需要打印三列数据,而其他时候则需要打印更多列。当她仅打印三列时,它们非常适合以纵向打印的页面。当她打印更多列时,则需要横向打印。芭芭拉(Barbara)想知道是否有一种方法可以设置Excel,以便它根据要打印的列数自动从纵向切换为横向。

处理这种类型的打印的最简单方法也许是添加一个在打印之前运行的小宏。如果将打印区域设置为包含1列,2列或3列,则以纵向打印。使用任何其他数量的列和横向。这是宏;您应该将其添加到ThisWorkbook模块中:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

With ActiveSheet.PageSetup         If Range(.PrintArea).Columns.Count > 3 Then             .Orientation = xlLandscape         Else             .Orientation = xlPortrait         End If     End With End Sub

当然,如果仅使用Excel的“自定义视图”功能,则可能会更有益(更灵活)。您可以指定一个视图,其中包括三列或所需的任意数量的列。您甚至可以使视图包含打印设置,因此页面方向将包含在视图中。请按照以下步骤设置视图:

。格式化并放置您想要的工作表。同样,请确保同时设置三列的打印区域,并将页面布局设置为纵向。

。显示功能区的“查看”选项卡。

。单击“工作簿视图”组中的“自定义视图”。 Excel将显示“自定义视图”对话框。

。单击添加按钮。 Excel将显示“添加视图”对话框。 (请参见图1。)

。在名称字段中,提供要与此视图关联的名称。

。在“查看包含”部分中,选择反映您要在此视图中保存的内容的选项。确保指定要包含打印设置。

。对设置满意后,单击“确定”按钮。当前视图由Excel保存。

。重复步骤1到7,但这一次是为较大的打印区域,确保将页面布局设置为横向。

现在,只要您想以不同的方式打印,就可以调用所需的视图并选择打印-其他所有内容都已为您设置。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(10365)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: