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到6,但这一次是为较大的打印区域,请确保将页面布局设置为横向。

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

注意:

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

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

本技巧(10364)适用于Microsoft Excel 97、2000、2002和2003。您可以在以下位置找到适用于Excel功能区界面(Excel 2007和更高版本)的本技巧的版本:

链接:/ excelribbon-Automatic_Selection_of_Portrait_or_Landscape [自动选择人像或风景]。