VBA基础

  • 格式:doc
  • 大小:52.00 KB
  • 文档页数:12

VBA的使用过程: 1、创建一个Excel文件。 2、创建一个控件,然后双击控件或是右击该控件,点击“查看代码”,就可以对该控件的某个事件,如click,keydown等。 进行编写执行代码了。创建控件的方法是,点击“视图->工具栏->控件工具箱”,打开“控件工具箱”栏,然后就可以直接拖动某个控件到Excel单元格中去。在Excel中窗口,添加的控件一般是处于执行状态的,如果要对这个控件进行编辑,除了第一次建立的时候可以对它进行属性编辑外,打开“控件工具箱”,也可以使控件处于编辑状态,如果还不行,可以再添加一个控件,然后已有的控件绝对会处于编辑状态。当然,对控件修改完毕后,别忘了删除刚才新添加的没有用的控件。在编辑状态中,你可以右击该控件,点击“属性”,那么就可以打开属性窗口,在这个窗口里,你可以很方便的对这个控件的名字,标题,大小等属性进行编辑。 3、手动或用宏记录器对该控件的某个事件进行编码。宏记录器简单易用,不过强大的功能还是必须手动编写VBA。

VBA对象介绍: 编写VBA代码的最关键在于灵活运用VBA对象,对这些VBA对象的属性或方法进行操作。另外,你也可以创建自定义函数,来对某些操作进行封装。既然是VBA,编码风格当然和VB相同,如果会VB,那么只要对VBA的对象比较了解,就可以编写功能强大的VBA程序;同样,如果不会VB,那么,只需要了解VBA的对象就够了,因为它比较简单易学。 以下分别讨论VBA各对象对其属性与方法:

在一些可以包含其他对象的窗口对象中,有几个特殊的属性,其属性值是当前活动对象,对它们,可以直接引用。 表1 一些特殊的属性

对象名 含义 ActiveWorkbook 当前工作簿,即如果你打开了几个Excel文件,那么你当然正在编辑的Excel文件即ActiveWorkbook ActiveSheet 当前工作簿中的当前工作表,即当前编辑的Excel文件中正在编辑的工作表 ActiveCell 当前工作表中活动单元格 ActiveChart 当前工作簿中的活动图表 Selection 当前被选定的对象

下面详谈各对象及它们的属性和方法 一、Application对象 此对象指Excel应用程序的工作环境。 <一>属性 1.Caption属性 含义:Excel应用程序标题栏显示的文本。 举例:Application.caption=“船员管理系统”,如赋值Empty,则恢复Excel默认的标题栏。 2.Cursor属性 含义:Excel中鼠标的形状。 表2 Cursor属性 属性值 鼠标形状 xlDefault 缺少型值,鼠标呈缺少形状 xlWait 等待型值,鼠标呈不断翻转的沙漏形状 xlNorthwestArrow 箭头型值,鼠标呈标准箭头形状 xlIBeam 文本型值,鼠标呈“I”字形以等待用户输入文本 操作:Application.Cursor=xlWait等。 3、DisplayAlerts属性 含义:用以确定是否显示系统的应用提示和警告信息,如果不想显示,则把些属性设为false,反之亦然。 4、DisplayFormulaBar属性 含义:用以确定是否显示公式编辑栏 5、DisplayScrollBars属性 含义:用以确定是否显示Excel的滚动条 6、DisplayStatusBar属性 含义:用以确定是否显示Excel的状态栏 7、EnableCancelkey属性 含义:用以确定是否允许用户中断正在执行着的VBA程序。缺省情况下,在VBA程序执行过程中,用户按下Ctrl+Break能够中断VBA程序的执行。此时此属性即值为xlInterrupt。若要禁止中断VBA程序,由赋值为xlDisabled;若需要VBA执行过程中遇到错误进中止,由赋值为xlErrorHandler 8、ScreenUpdating属性 含义:用以确定是否显示VBA程序的中间运算结果。 9、StatusBar属性 含义:设置状态栏的文本 10、ActiveWorkbook属性 含义:如表1介绍。 11、ActiveSheet 含义:如表1介绍。 12、ActiveCell属性 含义:如表1介绍。 13、ThisWorkBook属性 含义:用以返回正在执行着VBA程序所在的工作簿对象。这不是当前工作簿。例如有多个工作簿打开时,ActiveWorkbook属性返回当前工作簿对象,ThisWorkbook返回正在运行着VBA程序所在工作簿对象。 14、PathSeparator属性 含义:返回文件文件路径分隔符“\”,该属性是一个只读属性。 举例:Dim strPath as String

strPath=Application.ThisWorkbook.Path&Application.PathSeperator Workbooks.Open strPath&"myExcel.xls" 15、UserName属性 含义:设置当前用户名称。缺省用户是由Excel选项对话框的“常规”选项卡中“用户姓名”决定的。用户可以从“工具”菜单中选择“选项”命令来打开选项并在“常规”选项卡的“用户姓名”文本框中重新设置缺省的用户名称。 <二>方法 1、Calculate方法 含义:对Excel打开的工作簿中所有的公式进行重新计算。 2、Goto方法 含义:选择工作簿中的一个Range对象或一个VBA过程,格式如下: Application.Goto Reference,Scroll Reference参数表示Goto方法的目的地,Scroll参数若为True,滚动条滚动以使Range对象出现在工作簿窗口左上角,为False,当前工作簿窗口不属性变化。缺省值为Galse 举例:Application.Goto Range("C3"),True 3、InputBox方法 含义:用于打开一个输入对话框,允许用户输入数据。格式如下:

Application.InputBox(prompt,title,left,top,helpFile,helpContextID,type) prompt参数 用于设置输入对话框的提示信息 title参数 用于设置输入对话框的标题文字 default参数 用于设置输入对话框的缺省输入值 left和top参数 用于设置输入对话框左上角的坐标值 helpFile参数 用于设置输入对话框在线帮助的名称 helpContextID参数 用于设置输入对话框在线帮助主题的上下文标识号 type参数 用于设置输入对话框输入数据的类型。缺省情况下,为文本型 举例:UserValue=Application.InputBox("请输入数据","数据输入",Type:=7) 4、Onkey方法 含义:按下某个或组合键时执行一段VBA代码。自己尝试一下就知道了,也可看一下VB编辑器的提示(即输入Applicatio.Onkey后,VB编辑器弹出的下拉提示。 二、Workbooks对象集 当前所有打开的工作簿对象的集合 属性 1、Count属性,只读,返回Excel打开的工作簿数 方法 1、Add方法,向工作簿对象集中一个新的工作簿,相当于“文件->新建”命令。格式如下: Workbooks.Add Template 2、Open方法,打开一个指定的工作簿。格式看一下VBA编辑器中的提示就行,太累了,不想写得这么全。 3、Close方法,关闭一个工作簿文件 三、Workbook对象 代表一个独立的工作簿文件 属性 1、ActiveSheet属性,返回当前工作簿中的活动工作表对象 2、Author属性,返回或设定工作簿的作者姓名,由此确定工作簿的所有者 3、Saved属性,用于瓢工作簿文件是否做过修改。 方法 1、Activate方法,用于霜一个工作簿为当前活动工作簿,如,Workbooks("myOffice.xls").Activate 2、Close方法,用于关闭指定的工作簿 3、Save方法,用于保存指定的工作簿 4、SaveAs方法,用于另存为指定的工作簿 四、Worksheets对象集 代表当前工作簿所有的工作表(Worksheet)的集合。 属性 1、Count属性,返回当前工作簿中的的工作表的数量 方法 1、Add方法,向工作表对象集中添加一个新的工作表对象,格式如下: Worksheets.Add Before,After,Count,Type Before和After参数指哪一个工作表之前或之后插入新工作表。取值为Worksheet 如:Worksheets.Add Before:=Worksheets("Sheet2"),则相当于在Sheet2工作表之前插入了一个新的工作表 五、Worksheet对象 代表工作簿一个独立的工作表。 获取某个工作表,可以用Worksheets("办公费用"),也可以用Worksheets(3)之类的语句 属性