Excel精英培训网

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

[已解决]求高手给个vba码,万分感谢!

[复制链接]
发表于 2017-4-22 18:30 | 显示全部楼层 |阅读模式
本帖最后由 fggf 于 2017-4-22 21:12 编辑

有四个表,让用户可自主选择打印的表格,选择哪些表就可以自动打印对应的表格。万分感谢! book1.zip (18.48 KB, 下载次数: 2)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-4-22 21:27 | 显示全部楼层
看看,我这没打印机

vba自主选择打印表格.zip

24.03 KB, 下载次数: 2

回复

使用道具 举报

发表于 2017-4-22 21:31 | 显示全部楼层
本帖最后由 zjdh 于 2017-4-22 21:34 编辑

vba自主选择打印表格.rar (20.7 KB, 下载次数: 7)
回复

使用道具 举报

 楼主| 发表于 2017-4-23 13:58 | 显示全部楼层

您好!谢谢您的回复,现在如果我想增加一个在按下打印按钮后就跳出一个提示窗口:提示内容为“打印的表格为(哪个几个表,这里显示具体勾选的表格),确定打印吗?”,确定后就打印对应的表格,否则就返回重新选择。不知要怎么修改代码呢?
回复

使用道具 举报

发表于 2017-4-23 15:03 | 显示全部楼层
完成了,看看满足需求不,记得最佳答案

vba自主选择打印表格.rar

24.31 KB, 下载次数: 3

回复

使用道具 举报

发表于 2017-4-24 13:15 | 显示全部楼层    本楼为最佳答案   
vba自主选择打印表格.rar (20.04 KB, 下载次数: 12)
回复

使用道具 举报

 楼主| 发表于 2017-4-25 11:17 | 显示全部楼层

,谢谢!     我在实际运用到我表格上时,出现了一个小问题,麻烦再帮我看下啊!不好意思
实际当中G列的G12:g27是用用公式(if(sheet2!a1="","",aaa))引用其它工作表的数据,这时会出错假空的单元格。就造成了Range("G65536").End(3).Row没办法获取为空内容的准确的行,怎么解决这个问题呢?
回复

使用道具 举报

发表于 2017-4-26 18:54 | 显示全部楼层
本帖最后由 zjdh 于 2017-4-26 18:57 编辑
fggf 发表于 2017-4-25 11:17
,谢谢!     我在实际运用到我表格上时,出现了一个小问题,麻烦再帮我看下啊!不好意思
...

Private Sub CommandButton1_Click()
    Dim I%, C$, B, W%
    B = Array("表一", "表二", "附表一", "附表二")
    For I = 1 To 4
        If Controls("CheckBox" & I) = True Then C = C & B(I - 1) & ","
    Next
    If C = "" Then MsgBox "你没有勾选打印报表!": Exit Sub
    If MsgBox("打印的表格为: " & Chr(10) & C & " 确定打印吗?", 4 + 32) = 7 Then Exit Sub
    With Sheet1
        For I = 30 To 11 Step -1
            If .Cells(I, "G").Value <> "" Then
                W = I
                Exit For
            End If
        Next
        If CheckBox1.Value = True Then
            If CheckBox2.Value = True Then
                .Range("B2:D14").PrintOut
            Else
                .Range("B2:D6").PrintOut
            End If
        Else
            If CheckBox2.Value = True Then .Range("B10:D14").PrintOut
        End If
        If CheckBox3.Value = True Then
            If CheckBox4.Value = True Then
                .Range("F2:H" & W).PrintOut
            Else
                .Range("F2:H8").PrintOut
            End If
        Else
            If CheckBox4.Value = True Then .Range("F10:H" & W).PrintOut
        End If
    End With
    MsgBox "打印完毕!"
    Unload Me
End Sub
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 23:31 , Processed in 0.497609 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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