教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

菜鸟也懂VBA-excle2007VBA入门教程(13)

来源:网络收集 时间:2026-04-01
导读: Excel 2007 VBA 教程 End '退出 End Sub Private Sub RefEdit1_Change() TextBox1.Text = RefEdit1.Value '当RefEdit1.Value选完后,直接把它的值赋给文本框1,其实这个代码没有作用,便于显示出来,看选区 End Sub

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

菜鸟也懂VBA-excle2007VBA入门教程(13).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/566040.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)