VBA 是啥东东?
Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。
也可说是一种应用程式视觉化的Basic 脚本。
该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),实际上VBA是寄生于VB应用程序的版本。
微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功能。
1. VBA有啥用?
A 实现Excel中没有提供的功能
B 提高运行速度
C 编写自定义函数
D 实现自动化功能
F 通过插入窗体做小型管理软件
百科的总结是这样的: 掌握了VBA,可以发挥以下作用: 1.规范用户的操作,控制用户的操作行为; 2.操作界面人性化,方便用户的操作; 3.多个步骤的手工操作通过执行VBA代码可以迅速的实现; 4.实现一些VB无法实现的功能。[1] 5.用VBA制做EXCEL登录系统。[2] 6.利用VBA可以Excel内轻松开发出功能强大的自动化程序。
2. 怎么运行的?VBA代码在哪里存放的? 一个组合键:Alt F11 打开它的编辑器
怎么运行,来看实例一则:
3、什么是宏?宏和VBA有什么关系? 宏:就是将一个个的步骤拼接在一直,一次性执行完成搞定所有将要做的事情。 宏代码的源码内容就是 VBA 代码,宏的概念就是一个工具,工具要达成目标的事儿在后台有 VBA 组装。 打开录制宏: 2003版本下,在工具-->宏-->录制宏 2007在文件-->选项-->常用下勾选开发工具项,确后,在菜单中的开发工具中就可以看到了。 如:1. 选中单元格 A1 2. 在单元格 A1 中输入 100 3. 复制 单元格 A1 4. 将复制内容 粘贴到 单元格 B1
以上步骤,我们打开录制宏按钮后,一步步操作后,再关闭宏录制,就创建了一个宏 生成代码如下(或因软件版本或操作上的差异,代码上略有不同,不过大致执行代码功能都相同):
'''这里的“录制一个宏操作” 这是我操作前给这个宏起的名字,开始录制后,在 VBE 即 ALT F11 窗口中左侧的模块树下自动创建了一个模块, 双击模块就可以得到以下内容 Sub 录制一个宏操作() ' ' 录制一个宏操作 Macro ------->看这一行最前有一个单引号,加了这个后,在代码中起到解释代码功能的作用,代码执行时它是不会被执行的。 ' 宏由 safer 录制,时间: 2016/1/5 ----->这是程序自动添加的注释内容 '
' Range('A1').Select '这里表示选中单元格 A1 ActiveCell.FormulaR1C1 = '100' '双击单元格并输入 100 Range('A1').Select '再次选中单元格 A1 Selection.Copy '复制被选中的单元格 Range('A2').Select '选中单元格 A2 ActiveSheet.Paste '将剪贴板中的内容粘贴到当前活动单元格 End Sub
补充内容(了解即可,不懂也没啥关系): VBA之FormulaR1C1属性 FormulaR1C1是公式输入方法 有中括号是相对于选定单元格的相对偏移量,'-'为向左或向上偏移,正数为右或下偏移。 无中括号为相对于选定单元格的绝对偏移量,没有负数 'R'和'C'对应“行”和“列” 如:选定单元格为C8 R[-1]C[-1]为B7单元格,行列都-1,R[1]C[2]为E9单元格,行 1,列 2 R1C1代表A1单元格,R5C6代表F5单元格
例:C1单元格为'=A1 B1' Range('C1').FormulaR1C1 = '=RC[-2] RC[-1]'
例:C1单元格为'=A2 E3' Range('C1').FormulaR1C1 = '=R[1]C[-2] R[2]C[2]'
补充绝对引用 例:C1单元格为'=$A$2 $E$3' Range('C1').FormulaR1C1 = '=R2C1 R3C5'
看看我们刚才创建的宏:操作 ALT F8
|