1 / 8
文档名称:

VBA基础语句学习.doc

格式:doc   大小:20KB   页数:8
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

VBA基础语句学习.doc

上传人:简爱 2023/3/26 文件大小:20 KB

下载得到文件列表

VBA基础语句学习.doc

文档介绍

文档介绍:该【VBA基础语句学习 】是由【简爱】上传分享,文档一共【8】页,该文档可以免费在线阅读,需要了解更多关于【VBA基础语句学习 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。工程施工
工程施工
工程施工
工程施工
工程施工
工程施工
选择一个工作表:
Sheets("Balance”).Activate。
选择单元格:
Range("A1").Select
选择连续的单元格:
Range("A1:G8")。Select
选择不连续的单元格:
Range("A1,B6,D9”)。Select
Range("A1,B6:B10,D9").Select
选择当前活动的工作簿:
ThisWorkbook。Activate
如果选择其他工作簿,注意该工作簿一定是打开的,并且不要忘记加上后缀“。xls”,例如:
Windows("")。Activate
选择一个工作表:
Sheets("Balance").Activate。
单元格间移动:
ActiveCell。Offset(13,14)。Select
Selection。Offset(—3,—4).Select
Range(”G8")。Offset(-3,—4).Select
注意:你可以定义一变量,并且用offset来实现,例如:
varFreightRowsCount=Range("A1”)。。Count
(varFreightRowsCount,0)。Select
选择整个工作表:

选择当前单元格所在的区域(遇到空行/空列即止):
Range(”A1").
选择行或列:
Rows("1”).Select
Columns(”A").Select
或者:
ActiveCell。
ActiveCell。
选择相邻的多行/多列:
Columns(”A:C").Select
Rows(”1:5”).Select
选择不相邻的多行/多列:
注意:和选择相邻的多行/多列不同,使用”Range”而不是”Columns/Rows":
Range("A:A,C:C,E:F”)。Select
Range(”1:1,5:6,9:9")。Select
选择当前活动单元格向下至最后一个非空单元格:
Range(”A1”,Range(”A1”)。End(xlDown)).Select
Range(ActiveCell,ActiveCell。End(xlDown)).Select
选择当前活动单元格向上至第一个非空单元格:
Range(”A32",Range(”A32")。End(xlUp))。Select
Range(ActiveCell,ActiveCell。End(xlUp)).Select
选择当前活动单元格向右至第一个非空单元格?
注意:是”xlTORight"而不是”xlRight"
Range(”A1",Range(”A1").End(xlToRight)).Select
Range(ActiveCell,ActiveCell。End(xlToLeft)).Select
选择当前活动单元格向右至第10个单元格?
Range("A2",Range("A2”)。Offset(0,10))。Select
Range(ActiveCell,ActiveCell。Offset(0,10)).Select
选择当前活动单元格向左至第10个单元格?
Range(”A20”,Range("A20")。Offset(0,—10)).Select
Range(ActiveCell,(0,—10)).Select
选择当前活动单元格向下至第10个单元格?
Range(”a2",Range("a2”).Offset(10,0)).Select
Range(ActiveCell,ActiveCell。Offset(10,0)).Select
选择当前活动单元格向上至第10个单元格?
Range("A1”).End(xlDown).Offset(1,0)。Select
选择该行中第一个空单元格:
Range("A1”).End(xlToRight).Offset(0,1)。Select
改变区域的大小(由A1:B5变为A1:D10):注意:改区域并不是向外扩张,而是重新定义了。即“(10,4).Select而不是Selection。Resize(5,2)。Select
工程施工
工程施工
工程施工
Excel的宏不能记录移至当前行的第一个单元格的动作(即你按下“Home"键的动作),下面的语句则可以做到:
(0,—ActiveCell。Column+1)。Select
移至当前列的第一个单元格:
ActiveCell。Offset(—ActiveCell。Row+1,0)。Select
关于If..Then.。.EndIf
如果只有一个条件及一个动作,你可以用以下语句:
IfSelection。Value〉10Then
(1,0)=100
EndIf
或者更简单的:
>10ThenSelection。Offset(1,0)=100
如果有两个条件及两个动作,你可以用下面的语句
〉10Then
=12Then
Selection。Offset(1,0)=100
EndIf
Selection。Offset(1,0)=20
EndIf
关于If.。Then。.。And.。.EndIf
当有双重条件和一个动作时,你可以用下面的语句:
=10AndSelection。Offset(0,1)。Value=20Then
Selection。Offset(1,0)=100
EndIf
关于If..Then.。。Or。..EndIf
当有双重条件和一个动作时,你可以用下面的语句:
IfSelection。Value=10OrSelection。Offset(0,1).Value=20Then
Selection。Offset(1,0)=100
EndIf
关于If。.Then.。。Else。。。EndIf
当只有一个条件和两个动作时,你可以用下面的语句:
>10Then
Selection。Offset(1,0)=100
Else
(1,0)=0
EndIf
关于If..Then..ElseIf。.。EndIf
当有不止一个条件,且每个条件都跟随不同的动作时,你可以用下面的语句:
=1Then
(1,0)=10
=2Then
Selection。Offset(1,0)=20
=3Then
(1,0)=30
=4Then
Selection。Offset(1,0)=40
ElseIfSelection。Value=5Then
Selection。Offset(1,0)=50
EndIf
关于SelectCase
当你不得不测试很多条件,你可以用SelectCase语句来代替IfThen..ElseIf。语法如下:
Subtest()
SelectCaseSelection。Value
CaseIs>=85
(0,1)=”A"
CaseIs〉=75
(0,1)="B”
CaseIs〉=65
(0,1)=”C"
CaseIs〉=50
(0,1)=”D"
CaseElse
Selection。Offset(0,1)=”F”
EndSelect
EndSub
这段语句的意思就是:如果所选单元格的值大于85时,则其右边那个单元格的值为“A”……所选单元格的值小于50时,其右边那个单元格的值为“F”
这里有一些关于VBA函数LCase,Now(),UCase的例子:
注意:很多EXCEL函数都可以以下面的形式用在VBA中:
varAnswer=Application。(Range("A1:A32"))
或者
varAnswer=Application。Sum(Range(”A1:A32”))
LCase
当对输入的字符做判断时,我们无法知道用户输入的字符是大写还是小写,用LCase函数可以将其转化为小写:
IfLCase(Selection。value)="toto"then..。
or
SelectCaseLCase(Selection。Value)
or
DoWhileLCase()<〉"toto"
NOW()
NOW()既是Excel函数也是VBA函数。
通过下面的语句,在打开工作簿时,单元格"A1”就会显示为当前时间:
Range(”A1")。Formula=”=Now()"
下面的语句则在执行后赋予单元格“A1”当前时间,该时间不会改变除非你再次执行语句。并且你每次打开工作簿后,单元格“A1”的值不会改变。
Range("A1”)。Value=Now()
UCase
当对输入的字符做判断时,我们无法知道用户输入的字符是大写还是小写,用LCase函数可以将其转化为大写:
IfUCase(Selection。value)=”TOTO”then.。。
or
SelectCaseUCase(Selection。Value)
or
DoWhileUCase()<>"TOTO"