范例
当前位置:首页 > 其他范文 > 范例 > 列表页

excel,vba高效应用范例,pdf,下载

小草范文网  发布于:2017-04-29  分类: 范例 手机版

篇一:Excel+VBA与数据库(Access)整合笔记

1-1 利用DAO创建数据库和数据表

1. 首先建立对DAO对象库Microsoft DAO3.6 Object Library的引用.在VBA界面下:

工具-?引用,选中‖Microsoft DAO3.6 Object Library‖

2. 代码:

Public Sub1_1()

Dim myDb As DAO.Database ?定义DAO的Database(数据库)对象变量

Dim myTbl As DAO.TableDef ?定义DAO的TableDef(数据表)对象变量

Dim myData As String?定义数据库名称变量

Dim myTable As String ?定义数据表名称变量

?设置要创建的数据库名称(包括完整路径)

myData=ThisWorkbook.Path & ―\学生成绩管理.mdb‖

?设置要创建的数据表名称

myTable=‖期末成绩‖

?删除已经存在的数据库文件

on error resume next

kill myData

on error goto 0

?创建数据库

Set myDb=CreateDatabase(myData,dbLangChineseSimplified)

?创建数据表

Set myTbl=myDb.CreateTableDef(myTable)

?为创建的数据表添加各个字段

With myTbl

.Fields.Append .CreateField(―学号‖,dbText,10)

.Fields.Append .CreateField(―姓名‖,dbText,6)

.Fields.Append .CreateField(―性别‖,dbText,1)

.Fields.Append .CreateField(―班级‖,dbText,10)

.Fields.Append .CreateField(―数学‖,dbSingle)

.Fields.Append .CreateField(―语文‖,dbSingle)

.Fields.Append .CreateField(―物理‖,dbSingle)

.Fields.Append .CreateField(―化学‖,dbSingle)

.Fields.Append .CreateField(―英语‖,dbSingle)

.Fields.Append .CreateField(―总分‖,dbSingle)

End With

?将创建的数据表添加到数据库的TableDefs集合中

myDb.TableDefs.Append myTbl

?关闭数据库,并释放变量

myDb.Close

Set myDb=Nothing

Set myTbl=Nothing

?弹出信息

MsgBox‖创建数据库成功!‖ & vbCrLf & ―数据库文件名为:‖ & myData & vbCrLf & ―数据表名称为:‖ & myTable & vbCrLf & ―保存位置:‖ & ThisWorkbook.Path,vbInformation,‖创建数据库‖

End sub

注:

·CreateDatabase方法创建数据库

set mydb=createdatabase(mydata,dblangchinesesimplified)

mydb:数据库类型变量

dblangchinesesimplified:表达字符串比较规则,这里为简体中文

·CreateTableDef方法创建数据表

Set myTbl=mydb.Createtabledef(mytable)

mytbl:表类型变量

mydb:数据库名

mytable:表名

补充:创建带密码的Access数据库

Set mydb=createdatabase(mydata, dblangchinesesimplified & ―;pwd=12345‖)

1-2 利用ADOX创建数据库和数据表:

引用:microsoft ADO Ext.2.X for DDL and Security

代码:

public sub1_2()

dim mycat as new adox.catalog ?定义ADOX的Catalog对象变量

dim mytbl as new table ?定义table对象变量

dim mydata as string ?定义数据库名称变量

dim mytable as string ?定义数据表名称变量

?设置要创建的数据库名称(包括完整路径)

mydata=thisworkbook.path & ―\学生成绩管理.mdb‖

?设置要创建的数据表名称

mytable=‖期末成绩‖

?删除已经存在的数据库文件

on error resume next

kill mydata

on error goto 0

?创建新的数据库

mycat.create‖provider=microsoft.jet.oledb.4.0;data source=‖ & mydata

?创建数据表,并添加字段

with mytbl

.name=mytable

.columns.append ―学号‖,advarwchar,10

.columns.append ―姓名‖,advarwchar,6

.columns.append ―性别‖,advarwchar,1

.columns.append ―班级‖,advarwchar,10

.columns.append ―数学‖,adSingle

.columns.append ―语文‖,adSingle

.columns.append ―物理‖,adSingle

.columns.append ―化学‖,adSingle

.columns.append ―英语‖,adSingle

.columns.append ―总分‖,adSingle

End with

?将创建的数据表添加到ADOX的Tables集合中

mycat.tables.append mytbl

?释放变量

set mycat=nothing

set mytbl=nothing

?弹出信息

msgbox ―创建数据库成功!‖ & vbcrlf & ―数据库文件名为:‖ & mydata & vbcrlf & ―数据表名称为:‖ & mytable & vbcrlf & ―保存位置:‖ & thisworkbook.path,vbinformation,‖创建数据库‖

end sub

注:在VB中,常用的数据访问接口有下列三种:数据库访问对象(DAO,DataAccess object)、远程数据库对象(RDO,Remote Data Object)和ActiveX数据对象(ADO,ActiveX Data Object) ·ADOX的常用方法:

·Append方法:可以创建columns,groups,indexes,keys,procedures,tables,users,views等为数据表添加字段:

mytbl.columns.append 字段名,数据类型,字段长度

将创建的数据表添加到ADOX的Tables集合中的语句是:

Mycat.tables.append mytbl

·Create方法:创建一个新的数据库的语句:

Mycat.create ―provider=Microsoft.jet.oledb.4.0;data source=‖ & mydata

·Delete方法:删除数据表:

Mycat.tables.delete 数据表名

·Refresh方法:用于更新集合中的对象

1-3 利用SQL语句创建数据库和数据表

首先引用:microsoft activeX data objects 2.X library 和 microsoft ado ext.2.x for ddl and security‖

代码:

public sub1_3()

dim mycat as new adox.catalog ?定义ADOX的Catalog对象变量

Dim mycmd as new adodb.command ?定义Command对象变量

dim mydata as string ?定义数据库名称变量

dim mytable as string ?定义数据表名称变量

dim SQL as string

?设置要创建的数据库名称(包括完整路径)

mydata=thisworkbook.path & ―\学生成绩管理.mdb‖

?设置要创建的数据表名称

mytable=‖期末成绩‖

?删除已经存在的数据库文件

on error resume next

kill mydata

on error goto 0

?创建数据库文件

mycat.create ―provider=microsoft.jet.oledb.4.0;Data source=‖ & mydata

?设置数据库连接

set mycmd.activeconnection=mycat.activeconnection

?设置创建数据表的SQL语句

SQL = "CREATE TABLE " & myTable _

& "(学号 text(10),姓名 text(6),性别 text(1),班级 text(10)," _

& "数学 Single,语文 Single,物理 Single,化学 Single," _

& "英语 Single,总分 Single)"

?利用execute方法创建数据表

with mycmd

.commandtext=sql

.execute, , adcmdtext

end with

?释放变量

set mycat=nothing

set mycmd=nothing

?弹出信息

msgbox ―创建数据库成功!‖ & vbcrlf & ―数据库文件名为:‖ & mydata & vbcrlf & ―数据表名称为:‖ & mytable & vbcrlf & ―保存位置:‖ & thisworkbook.path,vbinformation,‖创建数据库‖

end sub

注:有两种方法来创建数据表:

·利用ADODB.Command对象的commandtext属性和execute方法:

dim mycmd as new adodb.command

set mycmd.activeconnection=mycat.activeconnection

with mycmd

.commandtext=SQL

.execute, , adcmdtext

end with

·利用ADODB.Connection对象的execute方法来生成几个记录集

Dim cnn as new adodb.connection

dim rs as new adodb.recordset

set cnn=mycat.activeconnection

set rs=cnn.execute(sql)

1-4 在已有的数据库中创建数据表(DAO)

引用DAO对象库:microsoft DAO 3.6 object library

代码:

public sub1_4()

dim mydb as dao.database ? 定义DAO的database(数据库)对象变量

dim mydata as string ?定义数据库名称变量

dim mytable as string ?定义数据表名称变量

?设置数据库名称(包括完整路径)

mydata=thisworkbook.path & ―\学生成绩管理.mdb‖

?设置要创建的数据表名称

mytable=‖期末成绩‖

?打开数据库

set mydb=opendatabase(mydata)

篇二:EXCEL VBA应用教程

EXCEL VBA应用教程--第1讲 什么是EXCEL VBA

第1讲 什么是EXCEL VBA

作者:http://hi.baidu.com/landmao

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能够更

excel vba高效应用范例 pdf 下载

加提高效率,使用者容易接受。

(2)EXCEL内置大量函数和处理功能,通过EXCEL VBA能够高效率地简单应用。

(3)可连接到多种数据库,便于与财务软件等交换数据。

(4)VBA简单易学,容易被会计人员及其管理人员掌握,易于大范围推广应用。用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件的打开和保存、处理、打印等。而用EXCEL作为开发平台,则由于EXCEL已经具备这些基本功能,你要做的工作只是使用它。

1.4 怎样学习EXCEL VBA

掌握EXCEL的人很多,但要在上面编写程序,也是需要学习的。要学习EXCEL VBA,首先应该购买一本EXCEL VBA的书籍,然后对照上面的案例就行学习和操作。同时,要根据自己的业务需要,结合实际编写一些实用的小功能。

现在网络上的EXCEL VBA很多,遇到问题,可以通过搜索,一般都能够找到。通过积累,逐渐就掌握了。一般需要三个月左右都时间。

本讲座将结合案例,在逐步讲解EXCEL VBA基本知识和方法的基础上,通过实际应用的方式来学习。

EXCEL VBA应用教程--第2讲 EXCEL VBA的开发环境和开发过程

第2讲 EXCEL VBA的开发环境和开发过程

作者:http://hi.baidu.com/landmao

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)用?加上语句,就可以看到运行的结果,在很多情况下比用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应用教程--第3讲 常量、变量与数据类型(一)

第3讲 常量、变量与数据类型

作者:http://hi.baidu.com/landmao

数据是程序运行的基础,在EXCEL VBA中,大量的数据是中EXCEL中的,但在程序运行中,还会有一些程序的控制数据。要掌握一种程序语言,必须了解该语言的数据类型有哪些以及该数据是如何声明的,以便得知该数据是使用哪种数据类型、该数据所能允许使用得最大和最小范围(生存期)、以及该数据占用多少内存空间。这样程序执行时才不会发生数据溢出(Overflow)和浪费内存空间得现象。

执行程序时,必须先将程序和数据加载到计算机的内存(RAM)中才能执行,若该数据会随着程序的执行而更改其值,我们称之为变量(Variable),而不发生变化的则时常量。常量指的时数据类型特定值的文字表示,常量被用来指定给变量当作变量值。程序运行时,语句中的每一个常量,都会分配到内存空间来存放其值。

篇三:EXCEL VBA常用语句

EXCEL VBA常用语句

定制模块行为

(1) Option Explicit '强制对模块内所有变量进行声明

Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示

Option Compare Text '字符串不区分大小写

Option Base 1 '指定数组的第一个下标为1

(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息

(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置

(4) On Error GoTo 0 '恢复正常的错误提示

(5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示

(6) Application.ScreenUpdating=False '关闭屏幕刷新

Application.ScreenUpdating=True '打开屏幕刷新

(7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏运行的功能 工作簿

(8) Workbooks.Add() '创建一个新的工作簿

(9) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿

(10) ThisWorkbook.Save '保存工作簿

(11) ThisWorkbook.close '关闭当前工作簿

(12) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数

(13) ActiveWorkbook.name '返回活动工作薄的名称

(14) ThisWorkbook.Name ?返回当前工作簿名称

ThisWorkbook.FullName ?返回当前工作簿路径和名称

(15) ActiveWindow.EnableResize=False ?禁止调整活动工作簿的大小

(16) Application.Window.Arrange xlArrangeStyleTiled ?将工作簿以平铺方式排列

(17) ActiveWorkbook.WindowState=xlMaximized ?将当前工作簿最大化

工作表

(18) ActiveSheet.UsedRange.Rows.Count ?当前工作表中已使用的行数

(19) Rows.Count ?获取工作表的行数(注:考虑向前兼容性)

(20) Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum

(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前

(22) ActiveSheet.Move After:=ActiveWorkbook. _

Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后

(23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2

(24) Sheets(“sheet1”).Delete或 Sheets(1).Delete '删除工作表1

(25) ActiveWorkbook.Sheets(i).Name '获取工作表i的名称

(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮

(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ?切换工作表中的行列边框显示

(28) ActiveSheet.UsedRange.FormatConditions.Delete ?删除当前工作表中所有的条件格式

(29) Cells.Hyperlinks.Delete ?取消当前工作表所有超链接

(30) ActiveSheet.PageSetup.Orientation=xlLandscape

或ActiveSheet.PageSetup.Orientation=2 '将页面设置更改为横向

(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ?在页面设置的表尾中输入文件路径

ActiveSheet.PageSetup.LeftFooter=Application.UserName ?将用户名放置在活动工作表的页脚

单元格/单元格区域

(32) ActiveCell.CurrentRegion.Select

或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select

'选择当前活动单元格所包含的范围,上下左右无空行

(33) Cells.Select ?选定当前工作表的所有单元格

(34) Range(“A1”).ClearContents '清除活动工作表上单元格A1中的内容

Selection.ClearContents '清除选定区域内容

Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式

(35) Cells.Clear '清除工作表中所有单元格的内容

(36) ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列

(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) ?偏移一列 Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ?向上偏移一行

(38) Range(“A1”).Copy Range(“B1”) '复制单元格A1,粘贴到单元格B1中

Range(“A1:D8”).Copy Range(“F1”) '将单元格区域复制到单元格F1开始的区域中

Range(“A1:D8”).Cut Range(“F1”) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中

Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中

注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列

(39) ActiveWindow.RangeSelection.Value=XX '将值XX输入到所选单元格区域中

(40) ActiveWindow.RangeSelection.Count '活动窗口中选择的单元格数

(41) Selection.Count '当前选中区域的单元格数

(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) ?返回单元格中超级链接的地址并赋值

(43) TextColor=Range(“A1”).Font.ColorIndex ?检查单元格A1的文本颜色并返回颜色索引 Range(“A1”).Interior.ColorIndex ?获取单元格A1背景色

(44) cells.count ?返回当前工作表的单元格数

(45) Selection.Range(“E4”).Select ?激活当前活动单元格下方3行,向右4列的单元格

(46) Cells.Item(5,”C”) ?引单元格C5

Cells.Item(5,3) ?引单元格C5

(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)

或 Range(“A1”).Offset(4,5) ?指定单元格F5

(48) Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)

Rnage(“B3”).Resize(11,3) ?创建B3:D13区域

(49) Range(“Data”).Resize(,2) ?将Data区域扩充2列

(50) Union(Range(“Data1”),Range(“Data2”)) ?将Data1和Data2区域连接

(51) Intersect(Range(“Data1”),Range(“Data2”)) ?返回Data1和Data2区域的交叉区域

(52) Range(“Data”).Count ?单元格区域Data中的单元格数

Range(“Data”). Columns.Count ?单元格区域Data中的列数

Range(“Data”). Rows.Count ?单元格区域Data中的行数

(53) Selection.Columns.Count ?当前选中的单元格区域中的列数

Selection.Rows.Count ?当前选中的单元格区域中的行数

(54) Selection.Areas.Count ?选中的单元格区域所包含的区域数

(55) ActiveSheet.UsedRange.Row ?获取单元格区域中使用的第一行的行号

(56) Rng.Column ?获取单元格区域Rng左上角单元格所在列编号

(57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) ?在活动工作表中返回所有符合条件格式设置的区域

(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False ?关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称

(59) Range(“A1:C3”).Name=“computer” ?命名A1:C3区域为computer

或Range(“D1:E6”).Name=“Sheet1!book” ?命名局部变量,即Sheet1上区域D1:E6为book

或 Names(“computer”).Name=“robot” ?将区域computer重命名为robot

(60) Names(“book”).Delete ?删除名称

(61) Names.Add Name:=“ContentList”,_

RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))” ?动态命名列

(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar” ?命名字符串CompanyCar

(63) Names.Add Name:=“Total”,RefersTo:=123456 ?将数字123456命名为Total。注意数字不能加引号,否则就是命名字符串了。

(64) Names.Add Name:=“MyArray”,RefersTo:=ArrayNum ?将数组ArrayNum命名为MyArray。

(65) Names.Add Name:=“ProduceNum”,RefersTo:=“=$B$1”,Visible:=False ?将名称隐藏

(66) ActiveWorkbook.Names(“Com”).Name ?返回名称字符串公式与函数

(67) Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函数检查A1单元格中的数据是否为数字

(68) Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate '激活单元格区域A列中最大值的单元格

(69) Cells(8,8).FormulaArray=“=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)” ?在单元格中输入数组公式。注意必须使用R1C1样式的表达式

图表

(70) ActiveSheet.ChartObjects.Count '获取当前工作表中图表的个数

(71) ActiveSheet.ChartObjects(“Chart1”).Select ?选中当前工作表中图表Chart1

(72) ActiveSheet.ChartObjects(“Chart1”).Activate

ActiveChart.ChartArea.Select ?选中当前图表区域

(73) WorkSheets(“Sheet1”).ChartObjects(“Chart2”).Chart. _

ChartArea.Interior.ColorIndex=2 ?更改工作表中图表的图表区的颜色

(74) Sheets(“Chart2”).ChartArea.Interior.ColorIndex=2 ?更改图表工作表中图表区的颜色

(75) Charts.Add ?添加新的图表工作表

(76) ActiveChart.SetSourceData Source:=Sheets(“Sheet1”).Range(“A1:D5”), _ PlotBy:=xlColumns ?指定图表数据源并按列排列

(77) ActiveChart.Location Where:=xlLocationAsNewSheet ?新图表作为新图表工作表

(78) ActiveChart.PlotArea.Interior.ColorIndex=xlNone ?将绘图区颜色变为白色

(79) WorkSheets(“Sheet1”).ChartObjects(1).Chart. _

Export FileName:=“C:MyChart.gif”,FilterName:=“GIF” ?将图表1导出到C盘上并命名为MyChart.gif

窗体

(80) MsgBox “Hello!” '消息框中显示消息Hello

(81) Ans=MsgBox(“Continue?”,vbYesNo) '在消息框中点击“是”按钮,则Ans值为vbYes;点击“否”按钮,则Ans

值为vbNo。

If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub '返回值不为“是”,则退出

(82) Config=vbYesNo+vbQuestion+vbDefaultButton2 '使用常量的组合,赋值组Config变量,并设置第二个按钮为缺

省按钮

(83) MsgBox “This is the first line.” & vbNewLine & “Second line.” '在消息框中强制换行,可用vbCrLf

代替vbNewLine。

(84) MsgBox "the average is :"&Format(Application.WorksheetFunction.Average

(Selection),"#,##0.00"),vbInformation, "selection count average" & Chr(13) '应用工作表函数返回所选区域

的平均值并按指定格式显示

(85) Userform1.Show ?显示用户窗体

(86) Load Userform1 ?加载一个用户窗体,但该窗体处于隐藏状态

(87) Userform1.Hide ?隐藏用户窗体

(88) Unload Userform1 或 Unload Me ?卸载用户窗体

(89) (图像控件).Picture=LoadPicture(“图像路径”) ?在用户窗体中显示图形

本文已影响