第1讲 什么是EXCEL VBA
1.1 为什么要学习EXCEL VBA
现在,财务软件已经趋于普及,会计人员的工作效率大幅度提高,减轻了会计人员大工作强度。财务软件的优点是从数据的输入、处理、输出实现了一体化,在会计数据的利用方面,尽管财务软件一直都作改进,但客观上还是满足不了管理工作但要求。因此,作实际工作中,EXCEL被大量应用,EXCEL的特点是简单易用,操作灵活,大大地弥补了会计软件地不足。但是,EXCEL处理数据的缺点是,每一步都要人工操作和控制,对重复性的工作,每次都要重复去作。
而EXCEL VBA能够将重复的工作编写成程序,这样就能够提高效率和避免人为操作的错误。
1.2 什么是VBA
VBA(Visual Basic For Applications)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。VBA是Visual Basic的一个子集,VBA不同于VB,原因是VBA要求有一个宿主应用程序才能远行(需要在EXCEL等软件的运行下才能运行),而且不能用于创建
独立应用程序。而VB可用于创建独立的应用程序。VBA可使常用的过程或者进程自动化,可以创建自定义的解决方案,最适用于来定制已有的桌面应用程序。
通常意义上的VBA就是在Office中包含着的一种加强Office功能的Basic语言。经过发展,在Office中,Word、Excel、Access、PowerPoint等多个软件都有了自己的程序设计语言,分别称为WordBasic、ExcelBasic、AccessBasic、PowerPointBasic (在Outlook中的开发语言为Visual Basic Scripting Edition)。通常统一称为VBA(VB for Application)。
本讲座,主要基于EXCEL VBA进行讲解。
VBA和VB的区别包括如下几个方面:
(1) VB是设计用于创建标准的应用程序,而VBA是在已有的应用程序(EXCEL等)下运行,实行有关操作、处理、查询等的自动化,提高效率。
(2)VB具有自己的开发环境,而VBA必须寄生于已有的应用程序(如EXCEL)。
(3)要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(
*.EXE),可独立运行。而VBA开发的程序必须依赖于它的"父"应用程序,例如EXCEL,如编写的EXCEL VBA程序,没有安装EXCEL是无法运行的。
虽然有一些不同,VBA和VB在结构上仍然十分相似。如果你已经对VB有一些基础,学习VBA就非常容易。当掌握EXCEL VBA后,对WORD、ACCESS等中应用VBA创建解决方案,也就基本掌握了。
1.3 应用EXCEL VBA的好处
在EXCEL中,使用VBA可以实现的功能主要包括:
(1)创建报表。
(2)对数据进行复杂的操作和分析。
(3)使重复的工作自动化。
(4)自定义EXCEL工具栏,菜单和界面。
(5)自定义EXCEL,使其成为开发平台。
用EXCEL作为开发平台有如下原因:
(1)EXCEL本身功能强大,包括打印,文件处理,格式化和文本编辑。大家在EXCEL使用中已经掌握了EXCEL基本概念、操作方法,采用EXCEL VBA能够更加提高效率,使用者容易接受。
(2)EXCEL内置大量函数和处理功能,通过EXCEL VBA能够高效率地简单应用。
(3)可连接到多种数据库,便于与财务软件等交换数据。
(4)VBA简单易学,容易被会计人员及其管理人员掌握,易于大范围推广应用。用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件的打开和保存、处理、打印等。而用EXCEL作为开发平台,则由于EXCEL已经具备这些基本功能,你要做的工作只是使用它。
1.4 怎样学习EXCEL VBA
掌握EXCEL的人很多,但要在上面编写程序,也是需要学习的。要学习EXCEL VBA,首
先应该购买一本EXCEL VBA的书籍,然后对照上面的案例就行学习和操作。同时,要根据自己的业务需要,结合实际编写一些实用的小功能。
现在网络上的EXCEL VBA很多,遇到问题,可以通过搜索,一般都能够到。通过积累,逐渐就掌握了。一般需要三个月左右的时间。
第2讲 EXCEL VBA的开发环境和开发过程转载
2.1 什么是VBE
VBE(Visual Basic Editor)是编写VBA代码的工具,窗口结构和VB的编辑器相似。和VB编辑器不同的是,VBE不能单独打开,必须依附于他所支持的应用程序,如EXCEL。
2.2 启动VBE 环境
在Excel菜单中,选择工具——宏——Visual Basic 编辑器,或者按快捷键Alt+F11即可进入。
安全性设置:要编写VBA程序和运行VBA程序,需要进行“安全性”设置,不然编写当VBA程
序无法运行。在Excel菜单中,选择工具——宏——安全性,进入安全性设置,一般选择“中”,如果不行就选择“低”。
2.3 VBE 的应用
进入VBE编辑器后,就能编写有关低界面后程序。VBE编辑器主要包括以下部分:
1、代码窗口。就是在这里写VBA的代码,也是在这里查看代码的。
2、对象窗口。可以在这里设定窗体的界面(如果使用了窗体的话),在这里能很直观地设定窗体各个控件的布局。
3、对象浏览器。在这里可以查看所有对象库、特定对象或你自己的工程,包括所有的对象的列表与每个对象的成员列表。
4、工程资源管理器。在这里,我们可以很方便地管理工程中的模块、类模块与窗体,还可以很容易地在代码与对象间切换。
5、属性窗口。在这里可以很简单地设定很多对象相关的属性,简单到只要用鼠标选择即
可。
6、工具箱。在插入窗体后,可以从工具箱添加各种控件。
7、立即窗口。其主要工作是:
(1)在开发过程中,用Debug.Print输出的内容就在此显示。
(2)当代码是Break模式时,查看对象和变量的状态。
(3)用?加上语句,就可以看到运行的结果,在很多情况下比用编程语言vb是什么msgbox报出方便多了。
2.4 使用VBA帮助和寻资源
1.VBA帮助。VBA的帮助中包含Excel所有属性、对象、方法等的说明,学习VBA的过程中,经常查阅VBA帮助,对了解Excel所有属性、对象、方法很有帮助。在查看别人的代码时,对不熟悉的部分,只要将光标移到其中,再按F1键,就能快速查获到相关的帮助。我们还可以在帮助的应答向导中,键入相关的关键词,来查我们需要的内容。
2.网络的搜索。网络的好处就在于信息量之巨大,而要查到我们需要的信息时,最基本的就是用好搜索。通过如百度、Google等,只要键入合适用的关键词,就能出不少相关的信息。
2.5 EXCEL VBA的开发过程
1. EXCELVBA开发过程简介
在开发一个具体的业务程序时,需要对以下问题有个大致的考虑。
1)使用者。这决定了程序的操作难度及界面感观。
2)数据来源和保存在哪里。这决定了程序的结构。
3)如何操作。这将决定程序的界面和细节。
4)数据处理的结果。最终决定程序的价值。
2.认识不同的控件
开始时关闭所有工作簿,打开一个新工作簿并另存为一个具体名字,一般用项目名称。在工具栏上单击鼠标右键,从快捷菜单中选择"窗体",显示"窗体"工具栏.其中有16个控件,只有9个可放到工作表内。
1)标签:它用于表现静态文本。
2)分组框:它用于将其他控件进行组合。
3)按钮:用于执行宏命令。
4)复选框:它是一个选择控件,通过单击可以选择和取消选择,可以多项选择。
5)选项按钮:通常几个选项按钮组合在一起使用,在一组中只能选择一个选项按钮。
6)列表框:用于显示多个选项并从中选择。只能单选。
7)组合框:用于显示多个选项并从中选择。可以选择其中的项目或者输入一个其它值。
8)滚动条:不是你常见的来给很长的窗体添加滚动能力的控件,而是一种选择机制。例如调节过渡的滚动条控件。包括水平滚动条和垂直滚动条。
9)微调控件:也是一种数值选择机制,通过单击控件的箭头来选择数值。例如改变Windows日期或时间就会使用到微调控件。
3.向工作表添加控件
4.设置控件的特性
5.给控件命名
6.使用用户窗体
如果希望创建专业级的应用程序,并且方便用户输入数据,那么应该使用用户窗体。用户窗体可以作为程序的对话框和窗口.向用户窗体添加控件基本类似于向工作表添加控件。
在对用户窗体设计完成后,可以对其进行预览,方法是在VBA编辑器中选择该窗体,单击“运行”菜单中的三角符号“运行子过程/用户窗体”,三角符号在VBA工具栏上也可能看得到,旁边是一个垂直的等于符号,最右边是个小正方形符号,它们类似于录音机上的按钮。运行窗体的另一个方法是按F5键。
常量、变量与数据类型转载
数据是程序运行的基础,在EXCEL VBA中,大量的数据是中EXCEL中的,但在程序运行中,还会有一些程序的控制数据。要掌握一种程序语言,必须了解该语言的数据类型有哪些以及该数据是如何声明的,以便得知该数据是使用哪种数据类型、该数据所能允许使用得最大和最小范围(生存期)、以及该数据占用多少内存空间。这样程序执行时才不会发生数据溢出(Overflow)和浪费内存空间得现象。
执行程序时,必须先将程序和数据加载到计算机的内存(RAM)中才能执行,若该数据会随着程序的执行而更改其值,我们称之为变量(Variable),而不发生变化的则时常量。常量指的时数据类型特定值的文字表示,常量被用来指定给变量当作变量值。程序运行时,语句中的每一个常量,都会分配到内存空间来存放其值。
3.1 标识符
变量和常量需要用一个名称来标识,这就是标识符。标识符名称第一个字符允许以大小字母、_或者中文名称(一般不建议用中文名称)开头,后面的字符可接A~Z、a~z、0~9或_等字符。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论