跳至主要内容

如何根据Excel中的单元格值打印特定页面或工作表?

Author: Siluvia Last Modified: 2025-07-31

您是否曾经需要根据Excel中某个单元格的值来打印特定页面或工作表?无论是打印特定页码,还是在满足条件时打印整个工作表,本指南都提供了逐步实现的方法。

使用VBA代码根据单元格值打印特定页面
使用VBA代码根据单元格值打印特定工作表


使用VBA代码根据单元格值打印特定页面

例如,当在当前工作表的A1单元格中输入页码1时,您希望自动打印当前工作表的第1页。您可以按照以下步骤操作来实现这一目标。

1. 选择包含要打印页码的单元格,然后同时按下 AltF11 键打开 Microsoft Visual Basic for Applications 窗口。然后点击 插入 > 模块

2. 接着会弹出 Microsoft Visual Basic for Applications 窗口,请将以下VBA代码复制并粘贴到代码窗口中。

VBA代码:根据单元格值打印页面

Option Explicit
Sub Print_Pages()
Dim xPage As Integer
Dim xYesorNo As Integer
With ActiveCell
    If Not IsEmpty(.Value) And IsNumeric(.Value) Then
        xPage = .Value
    Else: MsgBox "Please specify a cell and enter a page in cell"
        Exit Sub
    End If
End With
xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
If xYesorNo = vbYes Then
    ActiveSheet.PrintOut from:=xPage, To:=xPage, preview:=True
Else
    Exit Sub
End If
End Sub

3. 按下 F5 键运行代码。在弹出的 Kutools for Excel 对话框中,点击“”按钮以打印指定页面,或者如果您不想打印,可以点击“”按钮退出对话框。请参见截图:

A screenshot of the Kutools for Excel dialog box for printing a specific page based on a cell value

随后会打开当前工作表指定页面的预览窗口,请点击 打印 按钮开始打印。

A screenshot of the Print Preview window


使用VBA代码根据单元格值打印特定页面

假设当此工作表的B2单元格中的值等于数字1001时,您希望打印活动工作表。您可以使用以下VBA代码来实现。请按以下步骤操作。

1. 右键单击您希望基于单元格值打印的工作表标签,然后从右键菜单中点击 查看代码

2. 随后会弹出 Microsoft Visual Basic for Applications 窗口,请将以下VBA代码复制并粘贴到代码窗口中。

VBA代码:根据单元格值打印工作表

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xCell As Range, xYesorNo As Integer
Set xCell = ActiveSheet.Range("B2")
If Application.Intersect(Target, xCell) Is Nothing Then Exit Sub
    If xCell.Value = 1001 Then
        xYesorNo = MsgBox("Ready to print the specified worksheet? ", vbYesNo, "Kutools for Excel")
        If xYesorNo = vbYes Then
          ActiveSheet.PrintOut
        Else
           Exit Sub
        End If
End If
End Sub

A screenshot showing where to insert VBA code for printing based on a cell value in Excel

备注:您可以根据需要更改代码中的单元格及其值。

3. 按 Alt + Q 关闭 Microsoft Visual Basic for Applications 窗口。

当在B2单元格中输入数字1001时,会弹出一个 Kutools for Excel 对话框,请点击“”按钮开始打印。或者点击“”按钮直接退出对话框而不进行打印。请参见截图:

A screenshot of the Kutools for Excel dialog box for confirming worksheet printing based on cell value

提示:如果您想直接打印非连续页面(如当前工作表中的第1、6和9页),或者仅打印所有偶数页或奇数页,可以尝试使用 Kutools for Excel打印指定页 功能,如下图所示。

A screenshot of the Kutools for Excel Print Specified Pages utility for selective printing

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取


相关文章

最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!