Excel精英培训网

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

[已解决]怎么样有条件批量打印

[复制链接]
发表于 2012-9-5 20:25 | 显示全部楼层 |阅读模式
本帖最后由 9910343 于 2012-9-5 20:29 编辑

有条件批量打印.zip (9.76 KB, 下载次数: 11)
发表于 2012-9-5 20:43 | 显示全部楼层
有条件批量打印.rar (27.71 KB, 下载次数: 22)
回复

使用道具 举报

 楼主| 发表于 2012-9-5 20:49 | 显示全部楼层
爱疯 发表于 2012-9-5 20:43
建辅助列,筛选辅助列后打印。关于辅助列可选择以下一种方式,就不会被打印了,比如:

1)把辅助列字 ...

我的打印区域是成绩单表的B3:I4,XIEXIE
回复

使用道具 举报

发表于 2012-9-5 21:18 | 显示全部楼层    本楼为最佳答案   
本帖最后由 爱疯 于 2012-9-5 21:21 编辑

Sub 批量打印()
    Dim i%, j%
   
    Sheets("成绩单").Activate
    If [D6] > [D7] Then MsgBox "起始必须小于结束!": [D6] = "": [D7] = "": Exit Sub
    With Sheets("资料")
        For i = [D6] To [D7]
            If .Cells(i + 1, 6) + .Cells(i + 1, 7) > 180 Then
                [C3] = .Cells(i + 1, 1)
                [E3] = .Cells(i + 1, 2)
                [G3] = .Cells(i + 1, 3)
                [I3] = .Cells(i + 1, 4)
                [C4] = .Cells(i + 1, 5)
                [E4] = .Cells(i + 1, 6)
                [G4] = .Cells(i + 1, 7)
                [I4] = .Cells(i + 1, 8)
                .PrintOut
            End If
        Next
    End With
End Sub
回复

使用道具 举报

发表于 2012-9-5 22:12 | 显示全部楼层
学习学习。
回复

使用道具 举报

 楼主| 发表于 2012-9-6 08:12 | 显示全部楼层
爱疯 发表于 2012-9-5 21:18
Sub 批量打印()
    Dim i%, j%
   

怎么样吧打印区域加进去,你的代码打印的是资料表,我想打印的区域是成绩单表的B3:I4,XIEXIE
回复

使用道具 举报

发表于 2012-9-6 08:23 | 显示全部楼层
  1. Sub 设置打印区域()
  2.     ActiveSheet.PageSetup.PrintArea = "$B$3:$I$4"
  3. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-9-6 08:32 | 显示全部楼层
爱疯 发表于 2012-9-5 21:18
Sub 批量打印()
    Dim i%, j%
   

Sub 批量打印()
    Dim i%, j%
   
    'Sheets("成绩单").Activate
    If [D6] > [D7] Then MsgBox "起始必须小于结束!": [D6] = "": [D7] = "": Exit Sub
    With Sheets("资料")
        For i = [D6] To [D7]
            If .Cells(i + 1, 6) + .Cells(i + 1, 7) > 180 Then
                [C3] = .Cells(i + 1, 1)
                [E3] = .Cells(i + 1, 2)
                [G3] = .Cells(i + 1, 3)
                [I3] = .Cells(i + 1, 4)
                [C4] = .Cells(i + 1, 5)
                [E4] = .Cells(i + 1, 6)
                [G4] = .Cells(i + 1, 7)
                [I4] = .Cells(i + 1, 8)
                 
           Sheets("成绩单").Range("b3:i4").PrintPreview
            End If
        Next
   End With
End Sub
回复

使用道具 举报

发表于 2012-9-6 08:36 | 显示全部楼层
打印不用这么复杂吧
回复

使用道具 举报

发表于 2012-9-6 09:05 | 显示全部楼层
9910343 发表于 2012-9-6 08:32
Sub 批量打印()
    Dim i%, j%
   
  1. Sub 批量打印()
  2.     Dim i%, j%
  3.    
  4.     Application.ScreenUpdating = False
  5.     Sheets("成绩单").Activate
  6.     If [D6] > [D7] Then MsgBox "起始必须小于结束!": [D6] = "": [D7] = "": Exit Sub
  7.    
  8.     With Sheets("资料")
  9.         For i = [D6] To [D7]
  10.             If .Cells(i + 1, 6) + .Cells(i + 1, 7) > 180 Then
  11.                 [C3] = .Cells(i + 1, 1)
  12.                 [E3] = .Cells(i + 1, 2)
  13.                 [G3] = .Cells(i + 1, 3)
  14.                 [I3] = .Cells(i + 1, 4)
  15.                 [C4] = .Cells(i + 1, 5)
  16.                 [E4] = .Cells(i + 1, 6)
  17.                 [G4] = .Cells(i + 1, 7)
  18.                 [I4] = .Cells(i + 1, 8)
  19.                 .PageSetup.PrintArea = "$B$3:$I$4"
  20.                 .PrintOut
  21.             End If
  22.         Next
  23.     End With
  24. End Sub
复制代码
学习5201314的方法
有条件批量打印3.rar (10.25 KB, 下载次数: 22)

评分

参与人数 1 +2 收起 理由
9910343 + 2

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 05:00 , Processed in 0.338393 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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