求VBA代码:D列10至150行非空单元格复制到D9并打印工作表
标签批量打印VBA解决方案
功能匹配说明
完全符合需求:自动遍历D10-D150区域,非空单元格内容自动写入D9后打印当前工作表,空单元格自动跳过,无需手动操作。
使用步骤
- 打开目标Excel文件,按下
Alt + F11调出VBA编辑器 - 在左侧工程面板右键点击当前工作簿,选择「插入」-「模块」
- 将下方代码粘贴到模块编辑区域
- 按下
F5即可直接运行,也可将宏绑定到工作表按钮,后续一键调用
完整代码
Sub 批量打印标签() Dim targetWs As Worksheet Dim checkRange As Range Dim curCell As Range ' 绑定当前活动工作表,如需固定工作表可改为 Set targetWs = Sheets("你的工作表名称") Set targetWs = ActiveSheet ' 定义检查范围为D列10行至150行 Set checkRange = targetWs.Range("D10:D150") ' 关闭屏幕更新和提示弹窗,提升运行效率 Application.ScreenUpdating = False Application.DisplayAlerts = False For Each curCell In checkRange ' 剔除空值、纯空格的单元格 If Trim(curCell.Text) <> "" Then ' 将当前单元格内容赋值到D9 targetWs.Range("D9").Value = curCell.Value ' 打印当前工作表,默认使用系统打印机设置 targetWs.PrintOut End If Next curCell ' 恢复Excel默认设置 Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "所有非空标签已打印完成", vbInformation End Sub
自定义调整提示
如需修改打印参数,可调整
PrintOut方法的参数:
- 打印2份:
targetWs.PrintOut Copies:=2- 仅打印第1页:
targetWs.PrintOut From:=1, To:=1
内容的提问来源于stack exchange,提问作者Elvis Beikmanis
相关产品推荐
相关产品推荐

