菜鸟也懂VBA-excle2007VBA入门教程(13)
Excel 2007 VBA 教程
End '退出 End Sub
Private Sub RefEdit1_Change()
TextBox1.Text = RefEdit1.Value '当RefEdit1.Value选完后,直接把它的值赋给文本框1,其实这个代码没有作用,便于显示出来,看选区 End Sub
Private Sub UserForm_Initialize() '加载窗体时 Dim i As Byte '定义变量
Me.OptionButton1.Value = 1 '加载窗体时把第一个单选按钮设置为默认的 For i = 1 To 5
Me.ComboBox1.AddItem i '给组合框赋值1,2,3,4,5 Next
Me.ComboBox1.ListIndex = 0 '让1显示为组合框的默认值 End Sub Sub test()
Myf1.Show 1 '显示窗体 End Sub
最后的效果图如图 22
图 22
第十一讲 窗体与控件实例——开发隐藏工作表工具
这一讲,相对前面来说,有一定的难度了,但是大家也要明白,你总有一天要步入这个程序开发中,如果你没有达到这一步,也就是总是VBA的门外汉,所以大家要坚持,不要退缩,其实那时学的时候也和你们一样,也放弃过,就是现在我还是有太多太多的不明白,看到一些高手写的程序,只要你天天学习,不放弃,那么你不懂就少一些,呵呵。说了一大堆话,老师也是为大家打打气,坚持 ,加油。 开发批量隐藏工作表工具的方法与步骤
一. 插入窗体与添加控件
二. 编写代码(因为代码后面都有解释,我这里就不多说了)
1. 普通模块里的代码
Sub test()
隐藏工具.Show 1 '打开隐藏工作表工具 End Sub
Sub auto_open() '一打开工作簿就执行下面的代码 如图24所示
MsgBox \记得打开---隐藏工作表工具的快捷是Ctrl+D\佛山小老鼠提醒你,不要忘记了!\温馨提示\ 'Chr(10)是换行
第 33 页 共 52 页
Excel 2007 VBA 教程
Call 打开快捷键 '呼叫“打开快捷”过程 ,然后运行它 End Sub
Sub 打开快捷键()
Application.OnKey \记得一定要小写字母,且不要加大括号,快捷键Ctrl+D执行test过程 End Sub
Sub 关闭快捷键()
Application.OnKey \记得一定要小写字母,且不要加大括号,把关联的过程名为空就删除了
'为了让其自动关闭,用了工作簿关闭事件,当然打开快捷键也就可以放在工作簿打开事件里 End Sub
2. 窗体模块里代码
Private Sub CommandButton1_Click() '执行隐藏
Dim i As Integer, k As Integer, s As Integer '定义变量
For k = 0 To Me.ListBox1.ListCount - 1 '遍历列表框中的所有成员
If Me.ListBox1.Selected(k) = True Then '判断列表框中那一行是选中的,如果有,那么 s = s + 1 '累加S 目的为了在后面判断是不是所有的工作表是否被选中 End If Next k
If Sheets.Count = s Then MsgBox \不能删除所有工作表,只少要留一张可见工作表\ '如果所有的工作表被选中,因为隐藏至少要保留一张,那么就结束程序
If Me.OptionButton1.Value = True Then '如果单选按钮1被选中,那么就要执行一般隐藏 For i = 0 To Me.ListBox1.ListCount - 1 '遍历列表框所有成员 If Me.ListBox1.Selected(i) = True Then '如果被选中
Worksheets(Me.ListBox1.List(i)).Visible = 0 '那么相对应的工作表就要一般隐藏,Me.ListBox1.List(i)得到是工作表名 End If ' Next i '
Else '否则就执行下面的代码
For i = 0 To Me.ListBox1.ListCount - 1 ''遍历列表框所有成员 If Me.ListBox1.Selected(i) = True Then '如果被选中'
Worksheets(Me.ListBox1.List(i)).Visible = xlSheetVeryHidden ''那么相对应的工作表就要深度隐藏 End If ' Next i ' End If End Sub
Private Sub CommandButton2_Click() '显示 Dim i As Integer '定义变量
For i = 0 To Me.ListBox1.ListCount - 1 '遍历列表框所有成员 If Me.ListBox1.Selected(i) = True Then ''如果被选中'
Worksheets(Me.ListBox1.List(i)).Visible = 1 '那么相对应的工作表就要显示 End If ' Next i ' End Sub
Private Sub CommandButton3_Click() '全选
第 34 页 共 52 页
Excel 2007 VBA 教程
Dim i As Integer '定义变量
For i = 0 To Me.ListBox1.ListCount - 1 '遍历列表框里所有成员
Me.ListBox1.Selected(i) = True '把一个一个依次选中,Selected(i) = True是表示选中,反之为False是不选中 Next i End Sub
Private Sub CommandButton4_Click() '反选 Dim i As Integer '定义变量
For i = 0 To Me.ListBox1.ListCount - 1 '遍历列表框里所有成员 If Me.ListBox1.Selected(i) = True Then '如果被选中'' Me.ListBox1.Selected(i) = False '取消选中 Else '否则,如果没有被选中的,那么
Me.ListBox1.Selected(i) = True '被选中 End If Next i ' End Sub
Private Sub UserForm_Initialize() '窗体加载时
Dim i As Integer, Mycount As Integer '定义变量
Mycount = Sheets.Count '统计工作簿里有多少个工作表,且把值赋给Mycount For i = 1 To Mycount '遍历所有工作表
Me.ListBox1.AddItem Sheets(i).Name '把工作表名一一加载到列表框中 Next i '
Me.ListBox1.MultiSelect = 1 'MultiSelect = 2 表示可以借助控件键Shift Ctrl进行多选, 'MultiSelect = 0 表示只能选选择一行。'MultiSelect = 1也能选多行,但是不能配合着Ctrl和Shift键进行多选
Me.OptionButton1.Value = True '使单元按钮1为默认值
Me.ListBox1.Selected(0) = True '使列表框中的第一个被选中 End Sub
三. 批量隐藏工作表的效果图如23
图 23 图 24
第 35 页 共 52 页
Excel 2007 VBA 教程
第十二讲自定义函数
一. 为什么要自定义函数(Function过程)
一说到函数,大家都说会Excel博大精深,确是,可以给我们工作上带来许多方便,Excel本身的函数有几百个了,那我们为什么还要自定义函数呢?
1. 简化求解过程,用其它公式做出来公式长且复杂 2. 弥补Excel内置函数的不足 二. 创建自定义函数过程
1. 方法一 Alt+F11——>>插入模块——>>插入过程——>>类型——>>函数。结果如图图 25
图 25
2. 方法二 手动输入
Function 函数名() …… End Function
三. 自定义函数实例
1. 自定义提取活动工作表名的函数
Function 提取活动工作表名() '函数名是\提取活动工作表名\ Application.Volatile '声明为易失性函数
提取活动工作表名 = ActiveSheet.Name '把活动工作表赋值给函数名\提取活动工作表名\End Function
2. 自定义提取工作表名函数
Public Function 提取工作表名(i As Int …… 此处隐藏:3084字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




