如何在 Excel 中排除特定单元格或区域打印

ms exceladvanced excel functionmicrosoft technologies更新于 2024/9/26 14:36:17

Excel 是一款功能强大的工具,提供各种数据处理和分析函数。在这里,我们将首先使用 VBA 应用程序创建一个公式,然后使用它来完成任务。因此,让我们看一个在 Excel 中排除特定单元格或区域的简单过程。

步骤 1

假设有一个 Excel 工作表,其中包含如下图所示的句子列表。

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

或者,您可以通过 Developer->Visual Basic 进入 Microsoft Visual Basic for Applications 窗口。您也可以同时按下 Alt + F11 键来打开它。

步骤 2

在 Microsoft Visual Basic for Applications 窗口中,点击"插入->模块",在"模块 1"中输入以下代码。

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

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 事件处理程序 (Workbook_BeforePrint),该处理程序在打印工作簿之前执行。它旨在在 Excel 中排除特定单元格或区域进行打印。该代码检查活动工作表是否名为"Sheet1",并取消默认打印行为。它会暂时禁用某些应用程序属性以提高性能。

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


相关文章


有用资源