Excel表格选定区域快速批量打印,VBA有办法

43 篇文章 0 订阅

Excel表格选定区域快速批量打印,VBA有办法(VX公众号:Excel潘谆白说VBA)


前言

你的工作中是否经常需要打印资料,特别是Excel表格,如果表格是统一格式的,一个工作薄的所有工作表都需要打印,或者所有工作薄的某个相同名称的工作表需要打印,或者只需要打印工作表的选定区域,是否可以通过VBA代码编写程序,按照需求快速打印。
能,也很简单。现在以同一工作薄内所有工作表打印选定区域为例,编写代码。


一、操作思路

1、打开工作表,每张工作表的指定单元格分别添加文字“打印本页请双击”和“打印所有工作表请双击”;
2、编制单元格双击触发事件,指定单元格被双击后,选定预设区域,并打印当前工作表选定区域或当前工作薄所有工作表的选定区域;
3、如需打印多份,可修改代码"PRINT(1,1,1,TRUE,FALSE)"中第二个“1”的数值。

二、效果展示

VBA代码批量打印工作表指定区域

三、代码如下

Private Sub Workbook_Open()
  For Each Sheet In Worksheets
     Sheet.Cells(20, 9) = "打印本页请双击"
     Sheet.Cells(20, 9).Interior.ColorIndex = 44
     Sheet.Cells(21, 9) = "打印所有工作表请双击"
     Sheet.Cells(21, 9).Interior.ColorIndex = 44
  Next
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  If Target.Row = 20 And Target.Column = 9 Then
    Range("A1:G17").Select
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,1,,,TRUE,,FALSE)"
  ElseIf Target.Row = 21 And Target.Column = 9 Then
    For Each Sheet In Worksheets
      Range("A1:G17").Select
      ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,1,,,TRUE,,FALSE)"  '第二个“1”是份数,可以修改该数值
    Next
   End If
End Sub
  • 25
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值