VBA语法汇总.docx

上传人:b****6 文档编号:8680234 上传时间:2023-02-01 格式:DOCX 页数:76 大小:39.17KB
下载 相关 举报
VBA语法汇总.docx_第1页
第1页 / 共76页
VBA语法汇总.docx_第2页
第2页 / 共76页
VBA语法汇总.docx_第3页
第3页 / 共76页
VBA语法汇总.docx_第4页
第4页 / 共76页
VBA语法汇总.docx_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

VBA语法汇总.docx

《VBA语法汇总.docx》由会员分享,可在线阅读,更多相关《VBA语法汇总.docx(76页珍藏版)》请在冰豆网上搜索。

VBA语法汇总.docx

VBA语法汇总

目录

1.循环语句5

2.判断语句6

3.VBA对象方法和属性7

(一)工作簿7

(二)工作表7

(三)单元格7

4.VBA分支及END语句8

4.1.END语句8

4.2.Exit语句8

4.3.GOTO语句9

4.3.1.Goto语句,跳转到指定的地方9

4.3.2.goSub..return,跳过去,再跳回来9

4.3.3.onerrorresumenext'遇到错误,跳过继续执行下一句10

4.3.4.onerrorgoto'出错时跳到指定的行数10

4.3.5.onerrorgoto0'取消错误跳转10

5.excel文件操作10

5.1.excel文件和工作簿,excel文件就是excel工作簿,excel文件打开需要excel程的支持10

5.2.Workbooks工作簿集合,泛指excel文件或工作簿10

5.3.工作簿窗口11

5.4.应用11

5.4.1.判断A.Xls文件是否存在11

5.4.2.判断A.Xls文件是否打开11

5.4.3.excel文件新建和保存11

5.4.4.excel文件打开和关闭11

5.4.5.excel文件保存和备份12

5.4.6.excel文件复制和删除12

6.Excel单元格选取12

6.1.表示一个单元格(a1)12

6.2.表示相邻单元格区域12

6.3.表示不相邻的单元格区域12

6.4.表示行13

6.5.表示列13

6.6.重置坐标下的单元格表示方法13

6.7.表示正在选取的单元格区域14

7.特殊单元格定位14

8.单元格的信息14

8.1.单元格的值14

8.2.单元格的地址14

8.3.单元格的行列信息15

8.4.单元格的格式信息15

8.5.单元格批注信息15

8.6.单元格的位置信息15

8.7.单元格的上级信息15

8.8.内容判断16

9.单元格的格式16

9.1.单元格的数字格式16

9.2.设置单元格自定义格式17

9.3.按指定格式从单元格返回数值17

9.4.单元格的颜色17

9.5.单元格合并18

9.6.单元格编辑19

9.6.1.单元格行列的删除和插入19

9.6.2.单元格的输入20

10.单元格查询21

10.1.调用工作表函数21

10.2.使用Find方法21

11.VBA数组21

11.1.向VBA数组中写入数据22

11.2.VBA数组的读取23

11.3.数组的空间24

11.3.1.数组的大小24

11.3.2.动态数组的动态扩充24

11.3.3.清空数组25

11.4.数组与函数25

11.5.可以生成数组的函数26

12.VBA排序28

12.1.插入排序28

12.2.冒泡排序28

12.3.希尔排序28

12.4.一个插入排序的函数,29

13.VBA字典30

13.1.VBA字典的使用31

14.Msgbox函数33

14.1.窗口按钮类型和图标33

14.2.窗口和标题显示文字34

14.3.窗体返回值35

14.4.自动定时关闭消息窗口35

15.Inputbox函数35

15.1.Inputbox语法概述36

15.2.基本应用36

15.3.Inputbox扩展应用37

16.Excel对话框38

16.1.取得打开文件的文件名和路径38

16.2.返回文件夹名和路径39

17.字符串的拆分组合和转换41

17.1.1.拆分与组合41

17.1.2.查找和替换41

17.1.3.类型转换42

18.Like运算符43

19.正则表达式44

19.1.正刚表达式简介44

19.2.正则表达式常用符47

(一)\号47

(二).(点)47

(三)+号47

(四){}号48

(五)*49

(六)?

号49

(七)^号50

(八)$号50

(九)\b50

(十)|51

(十一)\un匹配51

(十二)[]52

(十三)()号53

1.循环语句

Subt2()

DimxAsInteger

Forx=10000To2Step-3

Range("d"&x)=Range("b"&x)*Range("c"&x)

Nextx

EndSub

Subt3()

DimrgAsRange

ForEachrgInRange("d2:

d18")

rg=rg.Offset(0,-1)*rg.Offset(0,-2)

Nextrg

EndSub

Subt4()

DimxAsInteger

x=1

Do

x=x+1

Cells(x,4)=Cells(x,2)*Cells(x,3)

LoopUntilx=18

EndSub

Subt5()

x=1

DoWhilex<18

x=x+1

Cells(x,4)=Cells(x,2)*Cells(x,3)

Loop

EndSub

2.判断语句

Sub判断1()'单条件判断

IfRange("a1").Value>0Then

Range("b1")="正数"

Else

Range("b1")="负数或0"

EndIf

EndSub

Sub判断2()'多条件判断

IfRange("a1").Value>0Then

Range("b1")="正数"

ElseIfRange("a1")=0Then

Range("b1")="等于0"

ElseIfRange("B1")<=0Then

Range("b1")="负数"

EndIf

EndSub

Sub多条件判断2()

IfRange("a1")<>""AndRange("a2")<>""Then

Range("a3")=Range("a1")*Range("a2")

EndIf

EndSub

Sub判断1()'单条件判断

SelectCaseRange("a1").Value

CaseIs>0

Range("b1")="正数"

CaseElse

Range("b1")="负数或0"

EndSelect

EndSub

Sub判断2()'多条件判断

SelectCaseRange("a1").Value

CaseIs>0

Range("b1")="正数"

CaseIs=0

Range("b1")="0"

CaseElse

Range("b1")="负数"

EndSelect

EndSub

3.VBA对象方法和属性

(一)工作簿

Workbooks代表工作簿集合,所有的工作簿,Workbooks(N),表示已打开的第N个工作簿

Workbooks("工作簿名称")

ActiveWorkbook正在操作的工作簿

ThisWorkBook'代码所在的工作簿

(二)工作表

Sheets("工作表名称")

Sheet1表示第一个插入的工作表,Sheet2表示第二个插入的工作表....

Sheets(n)表示按排列顺序,第n个工作表

ActiveSheet表示活动工作表,光标所在工作表

worksheet也表示工作表,但不包括图表工作表、宏工作表等。

(三)单元格

cells所有单元格

Range("单元格地址")

Cells(行数,列数)

Activecell正在选中或编辑的单元格

Selection正被选中或选取的单元格或单元格区域

4.VBA分支及END语句

4.1.END语句

作用:

强制退出所有正在运行的程序

4.2.Exit语句

退出指定的语句

1)ExitSub

Sube1()

DimxAsInteger

Forx=1To100

Cells(1,1)=x

Ifx=5Then

ExitSub

EndIf

Nextx

Range("b1")=100

EndSub

2)Exitfunction

Functionff()

DimxAsInteger

Forx=1To100

Ifx=5Then

ExitFunction

EndIf

Nextx

ff=100

EndFunction

3)Exitfor

Sube2()

DimxAsInteger

Forx=1To100

Cells(1,1)=x

Ifx=5Then

ExitFor

EndIf

Nextx

Range("b1")=100

EndSub

4)Exitdo

Sube3()

DimxAsInteger

Do

x=x+1

Cells(1,1)=x

Ifx=5Then

ExitDo

EndIf

LoopUntilx=100

Range("b1")=100

EndSub

4.3.GOTO语句

4.3.1.Goto语句,跳转到指定的地方

Subt1()

DimregAsNewRegExp

DimxAsInteger

Dimsr

100:

sr=Application.InputBox("请输入数字","输入提示")

Withreg

.Global=True

.Pattern="^\d+$|False"

If.test(sr)Then

MsgBox("正确")

Else

GoTo100

EndIf

EndWith

EndSub

4.3.2.goSub..return,跳过去,再跳回来

Subt2()

DimxAsInteger

Forx=1To10

IfCells(x,1)Mod2=0ThenGoSub100

Nextx

ExitSub

100:

Cells(x,1)="偶数"

Return

EndSub

4.3.3.onerrorresumenext'遇到错误,跳过继续执行下一句

Subt3()

OnErrorResumeNext

DimxAsInteger

Forx=1To10

Cells(x,3)=Cells(x,2)*Cells(x,1)

Nextx

EndSub

4.3.4.onerrorgoto'出错时跳到指定的行数

Subt4()

OnErrorGoTo100

DimxAsInteger

Forx=1To10

Cells(x,3)=Cells(x,2)*Cells(x,1)

Nextx

ExitSub

100:

MsgBox"在第"&x&"行出错了"

EndSub

4.3.5.onerrorgoto0'取消错误跳转

Subt5()

OnErrorResumeNext

DimxAsInteger

Forx=1To10

Ifx>5ThenOnErrorGoTo0

Cells(x,3)=Cells(x,2)*Cells(x,1)

Nextx

ExitSub

EndSub

5.excel文件操作

5.1.excel文件和工作簿,excel文件就是excel工作簿,excel文件打开需要excel程的支持

5.2.Workbooks工作簿集合,泛指excel文件或工作簿

Workbooks("A.xls"),名称为A的excel工作簿

Subt1()

Workbooks("A.xls").Sheets

(1).Range("a1")=100

EndSub

workbooks

(2),按打开顺序,第二个打开的工作簿。

Subt2()

Workbooks

(2).Sheets

(2).Range("a1")=200

EndSub

ActiveWorkbook,当打开多个excel工作簿时,你正在操作的那个就是ActiveWorkbook(活动工作簿)

Thisworkbook,VBA程序所在的工作簿,无论你打开多少个工作簿,无论当前是哪个工作簿是活动的,thisworkbook就是指它所在的工作簿。

5.3.工作簿窗口

Windows("A.xls"),A工作簿的窗口,使用windows可以设置工作簿窗口的状态,如是否隐藏等。

Subt3()

Windows("A.xls").Visible=False

EndSub

Subt4()

Windows

(2).Visible=True

EndSub

5.4.应用

5.4.1.判断A.Xls文件是否存在

SubW1()

IfLen(Dir("d:

/A.xls"))=0Then

MsgBox"A文件不存在"

Else

MsgBox"A文件存在"

EndIf

EndSub

5.4.2.判断A.Xls文件是否打开

SubW2()

DimXAsInteger

ForX=1ToWindows.Count

IfWindows(X).Caption="A.XLS"Then

MsgBox"A文件打开了"

ExitSub

EndIf

Next

EndSub

5.4.3.excel文件新建和保存

SubW3()

DimwbAsWorkbook

Setwb=Workbooks.Add

wb.Sheets("sheet1").Range("a1")="abcd"

wb.SaveAs"D:

/B.xls"

EndSub

5.4.4.excel文件打开和关闭

Subw4()

DimwbAsWorkbook

Setwb=Workbooks.Open("D:

/B.xls")

MsgBoxwb.Sheets("sheet1").Range("a1").Value

wb.CloseFalse

EndSub

5.4.5.excel文件保存和备份

Subw5()

DimwbAsWorkbook

Setwb=ThisWorkbook

wb.Save

wb.SaveCopyAs"D:

/ABC.xls"

EndSub

5.4.6.excel文件复制和删除

SubW6()

FileCopy"D:

/ABC.XLS","E:

/ABCd.XLS"

Kill"D:

/ABC.XLS"

EndSub

6.Excel单元格选取

6.1.表示一个单元格(a1)

Subs()

Range("a1").Select

Cells(1,1).Select

Range("A"&1).Select

Cells(1,"A").Select

Cells

(1).Select

[a1].Select

EndSub

6.2.表示相邻单元格区域

Subd()'选取单元格a1:

c5

'Range("a1:

c5").Select

'Range("A1","C5").Select

'Range(Cells(1,1),Cells(5,3)).Select

'Range("a1:

a10").Offset(0,1).Select

Range("a1").Resize(5,3).Select

EndSub

6.3.表示不相邻的单元格区域

Subd1()

Range("a1,c1:

f4,a7").Select

'Union(Range("a1"),Range("c1:

f4"),Range("a7")).Select

EndSub

Subdd()'union示例

DimrgAsRange,xAsInteger

Forx=2To10Step2

Ifx=2ThenSetrg=Cells(x,1)

Setrg=Union(rg,Cells(x,1))

Nextx

rg.Select

EndSub

6.4.表示行

Subh()

'Rows

(1).Select

'Rows("3:

7").Select

'Range("1:

2,4:

5").Select

Range("c4:

f5").EntireRow.Select

EndSub

6.5.表示列

SubL()

'Columns

(1).Select

'Columns("A:

B").Select

'Range("A:

B,D:

E").Select

Range("c4:

f5").EntireColumn.Select'选取c4:

f5所在的行

EndSub

6.6.重置坐标下的单元格表示方法

Subcc()

Range("b2").Range("a1")=100

EndSub

6.7.表示正在选取的单元格区域

Subd2()

Selection.Value=100

EndSub

7.特殊单元格定位

7.1.已使用的单元格区域

Subd1()

Sheets("sheet2").UsedRange.Select

'wb.Sheets

(1).Range("a1:

a10").CopyRange("i1")

EndSub

7.2.某单元格所在的单元格区域

Subd2()

Range("c10").CurrentRegion.Select

EndSub

7.3.两个单元格区域共同的区域

Subd3()

Intersect(Columns("b:

c"),Rows("3:

5")).Select

EndSub

7.4.调用定位条件选取特殊单元格

Subd4()

Range("A1:

A6").SpecialCells(xlCellTypeBlanks).Select

EndSub

7.5.端点单元格

Subd5()

Range("a65536").End(xlUp).Offset(1,0)=1000

EndSub

Subd6()

Range(Range("b6"),Range("b6").End(xlToRight)).Select

EndSub

8.单元格的信息

8.1.单元格的值

Subx1()

Range("b10")=Range("c2").Value

Range("b11")=Range("c2").Text

Range("c10")="'"&Range("I3").Formula

EndSub

8.2.单元格的地址

Subx2()

WithRange("b2").CurrentRegion

[b12]=.Address

[c12]=.Address(0,0)

[d12]=.Address(1,0)

[e12]=.Address(0,1)

[f12]=.Address(1,1)

EndWith

EndSub

8.3.单元格的行列信息

Subx3()

WithRange("b2").CurrentRegion

[b13]=.Row

[b14]=.Rows.Count

[b15]=.Column

[b16]=.Columns.Count

[b17]=.Range("a1").Address

EndWith

EndSub

8.4.单元格的格式信息

Subx4()

WithRange("b2")

[b19]=.Font.Size

[b20]=.Font.ColorIndex

[b21]=.Interior.ColorIndex

[b22]=.Borders.LineStyle

EndWith

EndSub

8.5.单元格批注信息

Subx5()

[B24]=Range("I2").Comment.Text

EndSub

8.6.单元格的位置信息

Subx6()

WithRange("b3")

[b26]=.Top

[b27]=.Left

[b28]=.Height

[b29]=.Width

EndWith

EndSub

8.7.单元格的上级信息

Subx7()

WithRange("b3")

[b31]=.Parent.Name

[b32]=.Parent.Parent.Name

EndWith

EndSub

8.8.内容判断

Subx8()

WithRange("i3")

[b34]=.HasFormula

[b35]=.Hyperlinks.Count

EndWith

EndSub

9.单元格的格式

9.1.单元格的数字格式

'1判断是否为空单元格

Subd1()

[b1]=""

'IfRange("a1")=""Then

'IfLen([a1])=0Then

IfVBA.IsEmpty([a1])Then

[b1]="空值"

EndIf

EndSub

'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1