VBA80Word格式.docx

上传人:b****4 文档编号:18452529 上传时间:2022-12-16 格式:DOCX 页数:16 大小:18.97KB
下载 相关 举报
VBA80Word格式.docx_第1页
第1页 / 共16页
VBA80Word格式.docx_第2页
第2页 / 共16页
VBA80Word格式.docx_第3页
第3页 / 共16页
VBA80Word格式.docx_第4页
第4页 / 共16页
VBA80Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

VBA80Word格式.docx

《VBA80Word格式.docx》由会员分享,可在线阅读,更多相关《VBA80Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

VBA80Word格式.docx

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

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

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

3、单元格

cells所有单元格

Range("

单元格地址"

Cells(行数,列数)

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

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

一、VBA属性

VBA属性就是VBA对象所具有的特点

表示某个对象的属性的方法是

对象.属性=属性值

Subttt()

).Value=100

EndSub

Subttt1()

Sheets

(1).Name="

工作表改名了"

Subttt2()

Sheets("

Sheet2"

).Range("

).Value="

abcd"

EndSub

Subttt3()

A2"

).Interior.ColorIndex=3

二、VBA方法

VBA方法是作用于VBA对象上的动作

表示用某个方法作用于VBA的对象上,可以用下面的格式:

Subttt4()

牛排.做熟的程度:

=七成熟

).CopyRange("

Subttt5()

Sheet1.Movebefore:

=Sheets("

Sheet3"

VBA中的代码的基本结构与组成部分

VBA语句

一、宏程序语句

运行后可以完成一个功能

Subtest()'

开始语句

EndSub'

结束语句

二、函数程序语句

运行后可以返回一个值

Functionshcount()

shcount=Sheets.Count

EndFunction

三、在程序中应用的语句

Subtest2()

Calltest

Subtest3()

Forx=1To100'

fornext循环语句

Cells(x,1)=x

Nextx

VBA80_第03集.循环语句

If判断语句:

Sub判断1()'

单条件判断

IfRange("

).Value>

0Then

b1"

正数"

Else

负数或0"

EndIf

Sub判断2()'

多条件判断

ElseIfRange("

)=0Then

等于0"

B1"

)<

=0Then

负数"

Sub多条件判断2()

>

"

AndRange("

a2"

Then

a3"

)=Range("

)*Range("

IIf函数判断:

Sub判断4()

)=IIf(Range("

=0,"

负数或零"

"

select判断:

SelectCaseRange("

).Value

CaseIs>

0

CaseElse

EndSelect

CaseIs=0

0"

Sub判断3()

G"

MsgBox"

A-G"

EndSub判断范围:

Subif区间判断()

IfRange("

=1000Then

)=0.01

ElseIfRange("

=3000Then

)=0.03

)>

3000Then

)=0.05

EndIf

Subselect区间判断()

Case0To1000

Case1001To3000

3000

VBA80_第04集.判断语句

Subt1()

Range(“d2”)=Range(“b2”)*Range(“c2”)

Range(“d3”)=Range(“b3”)*Range(“c3”)

Range(“d4”)=Range(“b4”)*Range(“c4”)

Range(“d5”)=Range(“b5”)*Range(“c5”)

Range(“d6”)=Range(“b6”)*Range(“c6”)

Subt2()

DimxAsInteger

Forx=2To6Step1‘step1表示按1递增,如果省略了step的话表示默认是按1递增;

step2表示按2递增;

step-1表示递减,此时前面的语句值应该是从大到小。

Range(“d”&

x)=Range(“b”&

x)*Range(“c”&

x)

Subt3()

DimrgAsRange*定义一个单元格变量

ForEachrgInRange(“d2:

d18”)*单元格变量的取值为d2:

d18

Rg=rg.Offset(0,-1)*rgOffset(0,-2)*Offset(0,-1)表示其往左偏移了一个的单元格

Nextrg

例子:

Subs1()

DimrgAsRange

ForEachrgInRange(“a1:

b7,d5:

e9”)

Ifrg=“”Then

rg=0

EndIf

Nextrg

Subs2()

DimxAsInteger

Do

x=x+1

IfCells(x+1,1)<

Cells(x,1)+1Then

Cells(x,2)=“断点”

ExitDo

LoopUntilx=14

Subt4()

X=1

Do*do循环容易造成死循环,所以在使用时一定要注意。

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

LoopUntilx=18*遇到死循环时,按住Ctrl+PauseBreak组合键可以强行结束循环

Subt5()

x=1

DoWhilex<

18

Loop

Endsub

VBA80_第05集.VBA变量

DimmAsInteger

变量

一、什么是变量?

所谓变量,就是可变的量。

就好象在内存中临时存放的一个小盒子,这个小盒子放的什么物体不固定。

Subt1()

DimXAsInteger'

x就是一个变量

ForX=1To10

Cells(X,1)=X

NextX

二、小盒子里可以放什么?

1放数字

如t1

2放文本

Subt2()

DimstAsString

DimXAsInteger

st=st&

Excel精英培训"

3放对象

Subt3()

Setrg=Range("

rg=100

4放数组

Subt4()

Dimarr(1To10)AsInteger,XAsInteger

arr(X)=X

NextX

三、变量的类型和声明

1变量的类型

详见帮助文件

2为什么要声明变量

3声明变量

dimpublic

四、变量的存活周期

1过程级变量:

过程结束,变量值释放

如t1

2模块级变量:

变量的值只在本模块中保持,工作簿关闭时随时释放

例5

Subt6()

m=1

Subt5()

MsgBoxm

m=7

3全局级变量:

在所有的模块中都可以调用,值会保存到EXCEL关闭时才会被释放。

public变量

Subt7()

MsgBoxqq

五变量的释放

一般情况下,过程级变量在过程运行结束后就会自动从内存中释放,而只有一些从外部借用的对象变量才需要使用set变量=nothing进行释放。

VBA80_第06集.函数与公式

OptionExplicit

一、在单元格中输入公式

1、用VBA在单元格中输入普通公式

Subt1()

d2"

=b2*c2"

Forx=2To6

Cells(x,4)="

=b"

&

x&

*c"

x

2、用VBA在单元格输入带引号的公式

Subt3()

c16"

=SUMIF(A2:

A6,"

b"

B2:

B6)"

遇到单引号就把单引号加倍

3、用VBA在单元格中输入数组公式

Subt4()

c9"

).FormulaArray="

=SUM(B2:

B6*C2:

C6)"

二、利用单元格公式返回值

d16"

)=Evaluate("

d9"

三、借用工作表函数

d8"

)=Application.WorksheeFunction.CountIf(Range("

A1:

A10"

),"

B"

四、利用VBA函数

C20"

)=VBA.InStr(Range("

a20"

E"

五、编写自定义函数

Functionwn()

wn=Application.Caller.Parent.Name

EndFunction

VBA80_第07集.VBE编辑器

一、VBE的窗口

1、工程窗口

A显示工作簿工作表对象

B窗体

C模块

D类模块

range("

)=10

对应工程窗口的对象和模板,显示其所具体的一些特征。

3、代码窗口

A注释文字的设置

B代码缩进的设置

C代码强制转行的设置

D代码运行和调试

逐句运行

设置断点

E对象列表框和过程列表框

4、立即窗口

立即窗口可以把运行过程中的值立即显示出来,主要用于程序的调试

Subd()

DimxAsInteger,stAsString

Forx=1To10

Cells(x,1)

Debug.Print"

第"

次运行结果:

st

5、本地窗口

在本地窗口中可以显示运行中断时对象信息、变量值、数组信息等。

Subd1()

DimxAsInteger,kAsInteger

k=k+Cells(x,1)

VBA80_第08集.VBA分支与End语句

一、END语句

作用:

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

二、Exit语句

退出指定的语句

1、ExitSub

Sube1()

Forx=1To100

Cells(1,1)=x

Ifx=5Then

ExitSub

2、Exitfunction

Functionff()

ExitFunction

ff=100

EndFunction

3、Exitfor

Sube2()

ExitFor

Nextx

4、Exitdo

Sube3()

x=x+1

LoopUntilx=100

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

Dimsr

100:

sr=Application.InputBox("

请输入数字"

输入提示"

IfLen(sr)=0OrLen(sr)=5ThenGoTo100

gosub..return,跳过去,再跳回来

IfCells(x,1)Mod2=0ThenGoSub100

ExitSub

Cells(x,1)="

偶数"

Return

onerrorresumenext'

遇到错误,跳过继续执行下一句

OnErrorResumeNext

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

onerrorgoto'

出错时跳到指定的行数

OnErrorGoTo100

在第"

行出错了"

onerrorgoto0'

取消错误跳转

Ifx>

5ThenOnErrorGoTo0

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

当前位置:首页 > PPT模板 > 动物植物

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

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