Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 9426|回复: 10

[已解决]求先自动筛选再打印代码?

[复制链接]
发表于 2013-7-21 21:03 | 显示全部楼层 |阅读模式
一个表格我经常进行按村委会名单打印分发出去,以前都是按C列的村委会设置成自动筛选,先是选一个村然后点击打印,然后重复这个动作,再筛选另一个村打印,每一个村都要筛选过再打印,我想请大师们帮助写一个代码,减少这个工作量。谢谢
最佳答案
2013-7-21 22:11
本帖最后由 hwc2ycy 于 2013-7-21 22:41 编辑
  1. Sub 批量打印()

  2.     Dim lLastrow As Long
  3.     Dim arr, i As Long
  4.     Dim rg As Range
  5.     Dim objDic As Object

  6.     lLastrow = Range("a1").End(xlDown).Row

  7.     Set rg = Range("a2:h" & lLastrow)
  8.     Set objDic = CreateObject("scripting.dictionary")
  9.     arr = Range("c3:d" & lLastrow).Value
  10.    
  11.     For i = LBound(arr) To UBound(arr)
  12.         objDic(arr(i, 1)) = ""
  13.     Next
  14.     arr = objDic.keys
  15.    
  16.     rg.AutoFilter
  17.     rg.AutoFilter field:=3
  18.     For i = LBound(arr) To UBound(arr)
  19.         rg.AutoFilter field:=3, Criteria1:=arr(i)
  20.         ActiveSheet.PrintOut
  21.     Next
  22. End Sub
复制代码

Book1.rar

9.99 KB, 下载次数: 378

发表于 2013-7-21 21:45 | 显示全部楼层
回复

使用道具 举报

发表于 2013-7-21 22:11 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hwc2ycy 于 2013-7-21 22:41 编辑
  1. Sub 批量打印()

  2.     Dim lLastrow As Long
  3.     Dim arr, i As Long
  4.     Dim rg As Range
  5.     Dim objDic As Object

  6.     lLastrow = Range("a1").End(xlDown).Row

  7.     Set rg = Range("a2:h" & lLastrow)
  8.     Set objDic = CreateObject("scripting.dictionary")
  9.     arr = Range("c3:d" & lLastrow).Value
  10.    
  11.     For i = LBound(arr) To UBound(arr)
  12.         objDic(arr(i, 1)) = ""
  13.     Next
  14.     arr = objDic.keys
  15.    
  16.     rg.AutoFilter
  17.     rg.AutoFilter field:=3
  18.     For i = LBound(arr) To UBound(arr)
  19.         rg.AutoFilter field:=3, Criteria1:=arr(i)
  20.         ActiveSheet.PrintOut
  21.     Next
  22. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-7-21 22:39 | 显示全部楼层
hwc2ycy 发表于 2013-7-21 22:11

太感谢了,这下我可省了不少事情。
再次感谢大师的帮助!!!
回复

使用道具 举报

匿名  发表于 2015-3-30 10:19
代码复制到哪里呢。我也是学校按班级打印资料    如果一个班级一个班的筛了在打印  就太慢了    各位高手 帮帮忙啦
回复

使用道具

发表于 2015-4-17 08:30 | 显示全部楼层
代码复制到哪里呢?
回复

使用道具 举报

发表于 2015-6-10 15:44 | 显示全部楼层
hwc2ycy 发表于 2013-7-21 22:11

你好,在网上找到你的自动筛选打印的编码,想问下,我如果是在A2表格里筛选打印,应该怎么更改代码?我是才学习VBA,谢谢
回复

使用道具 举报

发表于 2015-8-17 16:58 | 显示全部楼层
回复

使用道具 举报

发表于 2015-10-16 15:54 | 显示全部楼层
如果要选分村然后分组打印的话,如何写代码
回复

使用道具 举报

发表于 2016-3-25 15:46 | 显示全部楼层
向各位学习下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-16 12:35 , Processed in 0.217649 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表