ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: liulang0808

[讨论] vba基础教程(有空慢慢更新,估计会真的很慢)

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-2 13:57 | 显示全部楼层
二、Visual BASIC 程序设计网络教学
第一课VBA 是什么
1.1        VBA 是什么
直到90 年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL 的宏语言来使EXCEL 自动化,使用WORD BASIC 使WORD 自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA 是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA 是"寄生于"VB 应用程序的版本.VBA 和VB 的区别包括如下几个方面:
1. VB 是设计用于创建标准的应用程序,而VBA 是使已有的应用程序(EXCEL 等)自动化
2. VB 具有自己的开发环境,而VBA 必须寄生于已有的应用程序.
3. 要运行VB 开发的应用程序,用户不必安装VB,因为VB 开发出的应用程序是可执行文件(*.EXE),而VBA 开发的程序必须依赖于它的"父"应用程序,例如EXCEL.尽管存在这些不同,VBA 和VB 在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA 非常快.相应的,学完VBA 会给学习VB 打下坚实的基础.而且,当学会在EXCEL 中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA 创建解决方案的大部分知识.
* VBA 一个关键特征是你所学的知识在微软的一些产品中可以相互转化.
* VBA 可以称作EXCEL 的"遥控器".
VBA 究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.
此外,如果你愿意,还可以将EXCEL 用做开发平台实现应用程序.
1.2 EXCEL 环境中基于应用程序自动化的优点
也许你想知道VBA 可以干什么?使用VBA 可以实现的功能包括:
1. 使重复的任务自动化.
2. 自定义EXCEL 工具栏,菜单和界面.
3. 简化模板的使用.
4. 自定义EXCEL,使其成为开发平台.
5. 创建报表.
6. 对数据进行复杂的操作和分析.
用EXCEL 作为开发平台有如下原因:
1. EXCEL 本身功能强大,包括打印,文件处理,格式化和文本编辑.
2. EXCEL 内置大量函数.
3. EXCEL 界面熟悉.
4. 可连接到多种数据库.
用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件的打开和保存,打印,复制等.而用EXCEL 作为开发平台,则由于EXCEL 已经具备这些基本功能,你要做的只是使用它.

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-2 13:58 | 显示全部楼层
1.3 录制简单的宏
在介绍学习VBA 之前,应该花几分钟录制一个宏。
新术语:"宏",指一系列EXCEL 能够执行的VBA 语句。
以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤:
1)打开新工作簿,确认其他工作簿已经关闭。
2)选择A1 单元格。调出"常用"工具栏。
3)选择"工具"-"宏"-"录制新宏"。
4)输入"改变颜色"作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示"录制",特别是"停止录制"工具栏也显示出来。替换默认宏名主要是便于分别这些宏。
★ 宏名最多可为255 个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。
5)选择"格式"的"单元格",选择"图案"选项中的红色,单击"确定"。
6)单击"停止录制"工具栏按钮,结束宏录制过程。
※ 如果"停止录制"工具栏开始并未出现,请选择"工具"-"宏"-"停止录制"。
录制完一个宏后就可以执行它了。
1.4 执行宏
当执行一个宏时,EXCEL 按照宏语句执行的情况就像VBA 代码在对EXCEL 进行"遥控"。但VBA 的"遥控"不仅能使操作变得简便,还能使你获得一些使用EXCEL 标准命令所无法实现的功能。而且,一旦熟悉了EXCEL 的"遥控",你都会奇怪自己在没有这些"遥控"的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行:
1)选择任何一个单元格,比如A3。
2)选择"工具"-"宏"-"宏",显示"宏"对话框。
3)选择"改变颜色",选择"执行",则A3 单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-2 13:58 | 显示全部楼层
1.5 查看录制的代码
到底是什么在控制EXCEL 的运行呢?你可能有些疑惑.好,让我们看看VBA 的语句吧.
1)选择"工具"-"宏"-"宏",显示"宏"对话框。
2)单击列表中的"改变颜色",选择"编辑"按钮。
此时,会打开VBA 的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同)
Sub 改变颜色()
'
' 改变颜色Macro
' xw 记录的宏2000-6-10
'
'
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub
将来会十分熟悉这种代码,虽然现在它们看上去像一种奇怪的外语。学习VBA 或编程语言在某种程度上比较像在学习一种外语。
Sub 改变颜色():这是宏的名称。
中间的以" '"开头的五行称为"注释",它在录制宏时自动产生。
以With 开头到End With 结束的结构是With 结构语句,这段语句是宏的主要部分。注意单词"selection",它代表"突出显示的区域"(即:选定区域)。With Selection.Interior :它读作"选择区域的的内部".这整段语句设置该区域内部的一些"属性"。其中:
.ColorIndex = 3: 将该内部设为红色。注意:有一小圆点,它的作用在于简化语句,小圆点代替出现在With 后的词,它是With 结构的一部分。另外:红色被数字化为3.(红色警戒是否可称作:3 号警戒,嗯?)有兴趣的话,你将3 改为其他数字试试看。
.Pattern = xlSolid:设置该区域的内部图案。由于是录制宏,所以,虽然你并未设置这一项,宏仍然将其记录下来(因为在"图案"选项中有此一项,只是你未曾设置而已)。xlSolid 表示纯色。
.PatternColorIndex = xlAutomatic:表示内部图案底纹颜色为自动配色。
End With:结束With 语句。
End Sub:整个宏的结束语

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-2 13:59 | 显示全部楼层
1.6 编辑录制的代码
在上一节,我们录制了一个宏并查看了代码,代码中有两句实际上并不起作用。哪两句?现在,在宏中作一个修改,删除多余行,直到和下面代码相同:
Sub 改变颜色()
'
' 改变颜色Macro
' xw 记录的宏2000-6-10
'
'
With Selection.Interior
.ColorIndex = 3
End With
End Sub
完成后,在工作表中试验一下。你会发现结果和修改前的状况一样。在With 语句前加入一行:
Range("A5").Select
试着运行该宏,则无论开始选择哪个单元格,宏运行结果都是使A5 单元格变红.现在可以看到,编辑录制的宏同样非常简单。需要编辑宏是因为以下三个方面的原因。一:在录制中出错而不得不修改。二:录制的宏中有多余的语句需要删除,提高宏的运行速度。三:希望增加宏的功能。比如:加入判断或循环等无法录制的语句。
1.7 录制宏的局限性
希望自动化的许多EXCEL 过程大多都可以用录制宏来完成.但是宏记录器存在以下局限性.通过宏记录器无法完成的工作有:
1)录制的宏无判断或循环能力.
2)人机交互能力差,即用户无法进行输入,计算机无法给出提示.
3)无法显示EXCEL 对话框.
4)无法显示自定义窗体.
1.8 小结
本课中,你已经掌握了VBA 的一些基础知识,你会录制宏、编辑宏而且了解了录制宏的局限性.你很努力.并且已经为将来学习VBA 甚至VB 等编程语言打下了基础.关键是你已经了解了一个谜底,就是说,你了解了什么是编程.思考:
1)VBA 只能用于EXCEL 吗?
2)VBA 是基于哪种语言?
3)说说EXCEL 和VBA 的关系.
4)为什么要用宏?

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-2 14:00 | 显示全部楼层
第二课处理录制的宏
2.1 为宏指定快捷键
你也许希望为经常使用的宏指定快捷键。快捷键是指键的组合,当其按下时执行一条命令。例如:CTRL+C
在许多程序中代表"复制"命令。当给宏指定了快捷键后,就可以用快捷键来执行宏,而不必通过"工具"菜单。
注意:当包含宏的工作簿打开时间,为宏指定快捷键会覆盖EXCEL 默认的快捷键。例如:把CTRL+C 指定给某个宏,那么CTRL+C 就不再执行复制命令。用以下方法可以打印出EXCEL 的快捷键清单(用A4 纸打印共有24 页之多):
1)打开EXCEL 帮助文件并选择"目录"选项。
2)从"使用快捷键"文件夹中选择""快捷键"标题。
3)右击该标题,从快捷菜单中选择"打印"。
4)选择"打印所选标题和所有子主题",单击"确定"。
可以在创建宏时指定快捷键,也可以在创建后再指定。要在创建(录制)宏时指定快捷键,只须在录制宏时在输入宏名后,在"快捷键"文本框中输入相应的键。录制宏后指定快捷键也很简单,只需选择"工具""宏",显示"宏"对话框,选择要指定快捷键的宏,再单击"选项"按钮,通过"选项"对话框进行设置。
2.2 决定宏保存的位置
宏可保存在三种可能的位置:
1)当前工作簿。(只有该工作簿打开时,该宏才可用。)
2)新工作簿。
3)个人宏工作簿。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-2 14:01 | 显示全部楼层
2.3 个人宏工作簿
个人宏工作簿,是为宏而设计的一种特殊的具有自动隐藏特性的工作簿。第一次将宏创建到个人宏工作簿时,会创建名为"PERSONAL.XLS"的新文件。如果该文件存在,则每当EXCEL 启动时会自动将此文件打开并隐藏在活动工作簿后面(在"窗口"菜单中选择"取消隐藏"后,可以很方便地发现它的存在。)如果你要让某个宏在多个工作簿都能使用,那么就应当创建个人宏工作簿, 并将宏保存于其中。个人宏工作簿保存在"XLSTART" 文件夹中。具体路径为:
C:\WINDOWS\Profiles\Application Data\Microsoft\Excel\XLSTART。可以以单词"XLSTART"查询。
注意:如果存在个人宏工作簿,则每当EXCEL 启动时会自动将此文件打开并隐藏。因为它存放在XLSTART 文件夹内。
2.3.1 保存宏到个人宏工作簿
本练习,将保存一个简单的宏到个人宏工作簿,该宏为文本加下划线并改为斜体,步骤如下:
1)建立一个名为"HOUR2"的工作簿,选择"工具"-"宏"-"录制新宏",显示"录制新宏"对话框.
2)输入"格式化文本"作为宏名.
3)从"保存在"下拉框中选择"个人宏工作簿".
4)单击"确定"按钮.现在进入录制模式.
5)单击"斜体"工具栏按钮.一段时间内,鼠标出现沙漏,特别是在第一次创建个人宏工作簿时,因为EXCEL 在创建该工作簿.
6)单击"下划线"按钮.
7)停止录制.
2.3.2 使用并编辑个人宏工作簿中的宏
刚才已经保存了一个宏到个人宏工作簿,现在可以在任何工作簿中使用该宏.可按如下步骤操作:
1)关闭所有EXCEL 工作簿.
2)任意打开一个EXCEL 文件.(EXCEL 自动将个人宏工作簿同时打开并隐藏.)
3)在A3 中输入你的名字.
4)选择"工具"-"宏",显示宏对话框.现在可以在宏列表中看到"格式化文本"这个宏.
5)选择"格式化文本"宏,并执行.现在A3 单元格中,你的名字变为斜体字还带有下划线.选
择"窗口"-"取消隐藏",可以将PERSONAL.XLS 显示出来,其中没有任何文字,但通过VBA 编辑器可以在其中的模块中找到"格式化文本"这个宏.在VBA 编辑器中可以对该宏进行直接编辑或者删除.如果PERSONAL.XLS 中一个宏都没有,在启动EXCEL 时仍会打开PERSONAL.XLS,这也许是EXCEL 存在的一个小毛病.

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-2 14:02 | 显示全部楼层
2.4 将宏指定给按钮
即使通过快捷键可以是宏的执行变快,但是一旦宏的数量多了也难于记忆,而且,如果宏是由其他人来使用,难道你要他们也记住那么多的快捷键吗?作为EXCEL 开发者,一个主要的目标是为自动化提供一个易于操作的界面."按钮"是最常见的界面组成元素之一.通过使用"窗体"工具栏,可以为工作簿中的工作表添加按钮。在创建完一个按钮后,可以为它指定宏,然后你的用户就可以通过单击按钮来执行宏。在本练习中,将创建一个按钮,并为它指定一个宏,然后用该按钮来执行宏。具体步骤如下:
1)打开"HOUR2"工作簿。
2)调出"窗体"工具栏。
3)单击"窗体"工具栏中的"按钮"控件,此时鼠标变成十字形状。
4)在希望放置按钮的位置按下鼠标左键,拖动鼠标画出一个矩形,这个矩形代表了该按钮的大小。对大小满意后放开鼠标左键,这样一个命令按钮就添加到了工作表中,同时EXCEL 自动显示"指定宏"对话框。
5)从"指定宏"对话框中选择"格式化文本",单击"确定"。这样,就把该宏指定给命令按钮。
6)在按钮的标题"按钮1"前单击鼠标左键,按下DELETE 直到删除所有文本,输入"格式化"作为标题。
7)单击按钮外的任意位置,现在该按钮的标题由默认的"按钮1"变为"格式化"而且被指定了一个宏。
8)试着在某个单元格中输入文本,单击按钮运行该宏。
当鼠标移动至该按钮时自动变成手的形状,如果要改变其大小或标题,只需用右键单击该按钮就可以进行修改和设置。很明显,你再也不需记住宏的名字或快捷键了,只需按一下按钮。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2015-3-2 20:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
香川群子 发表于 2015-3-2 10:14
【建议数据类型不要使用 简写形式】

…………“建议”是针对个人习惯的,这么说没有问题。

Left$、Mid$

这个我真是不了解啊 指导下

与 left ,mid 有什么分别的

TA的精华主题

TA的得分主题

发表于 2015-3-11 10:55 | 显示全部楼层
楼主辛苦了,好东东,收藏了.

点评

大家互相交流吧。。。  发表于 2015-3-11 11:40

TA的精华主题

TA的得分主题

发表于 2015-8-23 13:19 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-14 07:03 , Processed in 0.037919 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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