Excel精英培训网

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

[已解决]窗体下拉菜单建立

[复制链接]
发表于 2013-4-16 18:22 | 显示全部楼层 |阅读模式
    利用窗体下拉菜单控制打开隐藏的工作表并也自动进入打印预览
最佳答案
2013-4-16 19:03
你插入一窗体。
F7,粘贴这些代码
  1. Dim cb As CommandBar

  2. Private Sub CommandButton1_Click()
  3.     If cb Is Nothing Then Exit Sub
  4.     cb.ShowPopup
  5. End Sub

  6. Private Sub UserForm_Initialize()
  7.     On Error Resume Next
  8.     CommandBars("test").Delete
  9.     Set cb = CommandBars.Add("test", msoBarPopup)
  10.     With cb
  11.         With .Controls.Add(msoControlButton)
  12.             .Caption = "取消隐藏工作表"
  13.             .Visible = True
  14.             .OnAction = "test1"
  15.         End With
  16.         With .Controls.Add(msoControlButton)
  17.             .Caption = "打印预览"
  18.             .Visible = True
  19.             .BeginGroup = True
  20.             .OnAction = "test2"
  21.         End With
  22.     End With
  23. End Sub

  24. Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  25.     If Button = 2 And Shift = 0 Then
  26.         If cb Is Nothing Then Exit Sub
  27.         cb.ShowPopup
  28.     End If
  29. End Sub
复制代码
发表于 2013-4-16 18:30 | 显示全部楼层
打开隐藏就是设置工作表的visible属性
打印预览的话刷用PrintPreview方法就行。
回复

使用道具 举报

发表于 2013-4-16 18:31 | 显示全部楼层
工作表,单元格,工作簿对像里都有PrintPreview方法可以调用。
回复

使用道具 举报

发表于 2013-4-16 19:03 | 显示全部楼层    本楼为最佳答案   
你插入一窗体。
F7,粘贴这些代码
  1. Dim cb As CommandBar

  2. Private Sub CommandButton1_Click()
  3.     If cb Is Nothing Then Exit Sub
  4.     cb.ShowPopup
  5. End Sub

  6. Private Sub UserForm_Initialize()
  7.     On Error Resume Next
  8.     CommandBars("test").Delete
  9.     Set cb = CommandBars.Add("test", msoBarPopup)
  10.     With cb
  11.         With .Controls.Add(msoControlButton)
  12.             .Caption = "取消隐藏工作表"
  13.             .Visible = True
  14.             .OnAction = "test1"
  15.         End With
  16.         With .Controls.Add(msoControlButton)
  17.             .Caption = "打印预览"
  18.             .Visible = True
  19.             .BeginGroup = True
  20.             .OnAction = "test2"
  21.         End With
  22.     End With
  23. End Sub

  24. Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  25.     If Button = 2 And Shift = 0 Then
  26.         If cb Is Nothing Then Exit Sub
  27.         cb.ShowPopup
  28.     End If
  29. End Sub
复制代码
回复

使用道具 举报

发表于 2013-4-16 19:04 | 显示全部楼层
再插入一个模块,粘贴代码
  1. Private Sub test2()
  2.     Debug.Print ActiveSheet.Name
  3.     ActiveSheet.PrintPreview
  4. End Sub

  5. Private Sub test1()
  6.     MsgBox "test1"
  7. End Sub
复制代码
回复

使用道具 举报

发表于 2013-4-16 19:05 | 显示全部楼层
运行窗体后,在窗体中右键,就有菜单,仅供参考。
只实现了打印预览功能(如果是空白工作表,选中该项无效果)
取消隐藏 只显示了一个对话框。
回复

使用道具 举报

发表于 2013-4-16 19:08 | 显示全部楼层
应该是可以直接调用系统的取消隐藏和打印预览这两个功能的。
回复

使用道具 举报

 楼主| 发表于 2013-4-17 17:38 | 显示全部楼层
非常感谢,可是你说的太专业了,这回我写了一个附件你看看应该怎样操作,

新建文件夹.rar

211.68 KB, 下载次数: 33

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 12:00 , Processed in 0.214451 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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