Excel精英培训网

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

[已解决]打印两表及引用(内详)

[复制链接]
发表于 2012-10-21 05:16 | 显示全部楼层 |阅读模式
1.当前表为表1时,m6引用表1的a4,e22引用表1的max(l:l),然后分别打印当前表和"每次必须打印表",以此类推(每次打印前都需要对应引用一次当前表的数据)
2.所有表的打印范围已经设置好,且纸张相同,所以执行打印,不需要调整
3.宏的最后一行可以实现切换到打印前的表,即打印时为表1,打印后还是表1,如果可以执行后当前表无切换也可以
4.office版本为2010

如果认为我描述的不够详细,请回帖说明,先谢谢大侠们

打印及引用.rar (4.32 KB, 下载次数: 8)
发表于 2012-10-21 08:13 | 显示全部楼层
本帖最后由 zjdh 于 2012-10-21 08:20 编辑

下拉列表选择打印内容,工作表名称在表1的S列(隐藏了)。
打印及引用.rar (17.19 KB, 下载次数: 4)
回复

使用道具 举报

 楼主| 发表于 2012-10-21 12:58 | 显示全部楼层
zjdh 发表于 2012-10-21 08:13
下拉列表选择打印内容,工作表名称在表1的S列(隐藏了)。

谢谢高手帮忙

但是有个问题,因为表名和数量是不确定的,所以通过下拉选择打印表貌似有点困难
回复

使用道具 举报

发表于 2012-10-21 16:48 | 显示全部楼层    本楼为最佳答案   
给你一个窗体选择的吧
打印及引用.rar (25.83 KB, 下载次数: 26)
回复

使用道具 举报

 楼主| 发表于 2012-10-23 08:34 | 显示全部楼层
zjdh 发表于 2012-10-21 16:48
给你一个窗体选择的吧

非常感谢高手,移植成功

请问左边的列表可以在执行宏的时候同时选中当前表和第一个表不? 这样我就不用点两次对勾直接点打印了
回复

使用道具 举报

发表于 2012-10-23 10:47 | 显示全部楼层
把这段改一下
Private Sub UserForm_Initialize()
    On Error Resume Next
    For Each SH In Sheets
        If SH.Name <> "每次必须打印表" Then
            Set ITM = ListView1.ListItems.Add()
            ITM.Text = SH.Name
        End If
    Next
    For I = 1 To ListView1.ListItems.Count
        If ActiveSheet.Name = ListView1.ListItems(I).Text Then
            ListView1.ListItems(I).Checked = True
            Exit For
        End If
    Next

End Sub
回复

使用道具 举报

 楼主| 发表于 2012-10-23 11:31 | 显示全部楼层
zjdh 发表于 2012-10-23 10:47
把这段改一下
Private Sub UserForm_Initialize()
    On Error Resume Next

真牛,成功了,谢谢大侠
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 12:57 , Processed in 0.332087 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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