如何在Excel中排除某些单元格或区域进行打印


Excel是一个强大的工具,它提供各种用于数据操作和分析的功能。在这里,我们将首先使用VBA应用程序创建公式,然后使用它来完成任务。因此,让我们看看一个简单的过程,如何在Excel中排除某些单元格或区域进行打印。

步骤 1

考虑一个Excel工作表,其中包含如下面的图像所示的句子列表。

在当前可见的工作表上,右键单击工作表名称选项卡以加载工作表管理菜单。选择“查看代码”,将弹出Microsoft Visual Basic for Applications窗口。

或者,您可以通过开发工具→Visual Basic进入Microsoft Visual Basic for Applications窗口。您也可以同时按下Alt + F11键打开它。

步骤 2

在Microsoft Visual Basic for Applications窗口中,单击插入→模块,在Module1中输入以下代码。

右键单击 > 查看代码 > 插入 > 模块 > 复制代码

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim xIndex As Long
    If ActiveSheet.Name = "Sheet1" Then
        Cancel = True
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        With ActiveSheet
            xIndex = .Range("A6:B6,A10:B10").Font.ColorIndex
            .Range("A6:B6,A10:B10").Font.Color = vbWhite
            .PrintOut
            .Range("A6:B6,A10:B10").Font.ColorIndex = xIndex
        End With
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
    MsgBox "Print completed!", vbInformation, "Kutools for Excel"
End Sub

在代码中,Sheet1是您需要打印的活动工作表名称,A6:B6、A10:B10是要从打印中排除的范围。请根据您的需要更改它们。

保存宏。然后退出Microsoft Visual Basic for Applications。

步骤 3

现在您可以开始打印工作表了。打印完成后,您将获得如下面的屏幕截图所示的Kutools for Excel对话框。

步骤 4

您可以在打印输出中看到指定的范围为空白。

结论

总之,提供的VBA代码设置了一个工作簿事件处理程序(Workbook_BeforePrint),该处理程序在打印工作簿之前执行。它旨在排除Excel中特定单元格或区域的打印。该代码检查活动工作表是否名为“Sheet1”,并取消默认打印行为。它暂时禁用某些应用程序属性以提高性能。

在打印之前,将排除范围的字体颜色更改为白色,使其在打印时不可见。然后调用PrintOut方法打印工作表。打印完成后,将为排除范围恢复原始字体颜色。最后,重新启用应用程序属性,并显示一个消息框以指示打印操作已完成。

更新于: 2023年7月20日

455 次查看

开启您的职业生涯

通过完成课程获得认证

开始学习
广告