Visual Basic高手语法整理篇.docx

上传人:b****5 文档编号:2861542 上传时间:2022-11-16 格式:DOCX 页数:17 大小:83.21KB
下载 相关 举报
Visual Basic高手语法整理篇.docx_第1页
第1页 / 共17页
Visual Basic高手语法整理篇.docx_第2页
第2页 / 共17页
Visual Basic高手语法整理篇.docx_第3页
第3页 / 共17页
Visual Basic高手语法整理篇.docx_第4页
第4页 / 共17页
Visual Basic高手语法整理篇.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Visual Basic高手语法整理篇.docx

《Visual Basic高手语法整理篇.docx》由会员分享,可在线阅读,更多相关《Visual Basic高手语法整理篇.docx(17页珍藏版)》请在冰豆网上搜索。

Visual Basic高手语法整理篇.docx

VisualBasic高手语法整理篇

1分支结构

条件表达式、变量、常数都可以

(1)If条件Then

语句块

EndIf

(2)If条件Then

语句块1

Else

语句块2

EndIf

(3)If条件1Then

语句块1

ElseIf条件2Then

语句块2

ElseIf条件NThen

语句块N

Else

语句块N+1

EndIf

嵌套If语句-------(实际很少用)

(4)If条件1Then

If条件2Then

语句块1-1

Else

语句块1-2

EndIf

其他语句

Else

语句块2

EndIf

 

(1)SelectCase变量名或表达式

Case表达式1比较具体值是否相等

语句块1相等则执行本语句块

Case表达式2

(1)Case2,4,6,8,10

语句块2

(2)Case1To10

Case表达式N(3)CaseIs>20

语句块N(4)Case"ab","ef"

CaseElse(5)Case"ab"To"ef"

语句块N+1(6)Case2,4,1To10,Is>20,"ab"To"ef"

EndSelect

要点1,Select语句可以嵌套

2,只有当IfElseIf语句中每个表达式都相同时才能用Select语句代替

例:

Sub多重判断()见VBA57页

IfRange(“A1”)<0Then

Range(“B1”)=“小于零”

ElseIfRange(“A1”)=0Then

Range(“B1”)=“等于零”

ElseIfRange(“A1”)>0Then

Range(“B1”)=“大于零”

EndIf

EndSub

Sub多重判断()

SelectCaseRange(“A1”)

CaseIs<0

Range(“B1”)=“小于零”

CaseIs=0

Range(“B1”)=“等于零”

CaseIs>0

Range(“B1”)=“大于零”

EndSelect

EndSub

(2)IIF(条件,条件为真的值,条件为假的值)

若条件为真,则取第一个值(条件为真的值)

否则条件为假,则取第二个值(条件为假的值)

 

2循环结构

(1)For计数变量名=起始值To终止值Step步进值

语句块步进为1时可省略

Next计数变量名步进值可为正负整数

可省略不写

(2)For计数变量名1=起始值1To终止值1

For计数变量名2=起始值2To终止值2

语句块

Next计数变量名2

其它语句

Next计数变量名1

要点:

1能确定循环终止值时首先确定用ForNext循环

2循环内一般不用修改计数变量的值

3ExitFor语句只能退出当前循环

4第一次进入循环时计数变量会被设定为起始值

(1)Do

语句块

Loop

(2)DoWhile条件表达式

语句块只要条件表达式成立,就继续执行循环

Loop

(3)Do

语句块

LoopWhile条件表达式

只要条件表达式成立,就继续执行循环

 

(4)Do

语句块

LoopUntil条件表达式

只要条件表达式成立,就退出循环

 

(5)DoUntil条件表达式

语句块只要条件表达式成立,就退出循环

Loop

 

(1)DoWhile条件表达式

语句块只要条件表达式成立,就继续执行循环

Loop

 

While条件表达式

语句块只要条件表达式成立,就继续执行循环

Wend

(2)GoTo标记功能:

可任意前跳后跳

标记:

语句或空白

命名规则与变量相同,汉字串也可以

也可用数字(0--2147483647),此时“:

“可省略

要点:

1可以用ExitDo退出Loop循环(If条件表达式ThenExitDo)

2For循环自带隐含计数器,其它条件循环必须另加计数器I=I+1

(或I=I-1),其它条件循环要在进入循环之前设置计数器初值。

实例《实例150》317、377,《VBA》58页

(3)ForEach个体变量In指定的集合

语句

Next个体变量

3子程序结构

(1)创建子程序:

代码窗口选择"通用"——输入"Sub子程序名"后回车即可。

英文汉字都可以(见VBA)

模块中输入:

PublicSub子程序名()或PrivateSub子程序名()

能被任何位置主程序调用(可省略)只能在同一模块(或同一代码窗口)内调用

(2)最简单调用:

把子程序名当成一个语句即可

(3)主程序格式:

Call子程序名(变量或常数1,变量或常数2,---)

Call子程序名((变量或常数1),(变量或常数2),---)

要点:

1实际参数是常数时,常数直接替代形式参数的值。

2实际参数是变量时,则以变量本身替代形式参数本身。

3变量或常数加上“()”,则以变量的值或常数本身替代形式参数的值。

(4)子程序格式:

Sub子程序名(形式参数1As数据类型1,形式参数2As数据类型2,---)语句块

EndSub

Sub子程序名(Byval(或ByRef)形式参数1As数据类型1,

Byval(或ByRef)形式参数2As数据类型2,---)

语句块

EndSub

例:

PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)(VBA50页)

要点:

1加上Byval后不管主程序什么格式,调用都是传值调用,调用后不会改

变原主程序变量的值。

2加上Byref则是传变量调用,调用后会改变原主程序变量的值。

3注意:

主程序声明的数据类型必须与子程序声明的数据类型一致,否则报错。

4函数结构

(1)创建函数:

代码窗口选择"通用"——输入"Function函数名"后回车即可。

Function函数名()

函数名=表达式函数最后要传回一个值,所以必定有此语句。

EndFunction

Function函数名(形参1,形参2)As数据类型

函数名=表达式

EndFunction声明函数返回值的类型

(2)最简单调用:

(子程序)Call子程序名(变量或常数1,变量或常数2,---)

(函数)V=函数名(变量或常数1,变量或常数2,---)

例:

PublicFunction工作表个数()

工作表个数=ThisWorkbook.Sheets.Count

EndFunction

PublicSub求工作表个数()

DimaAsInteger

a=工作表个数()

MsgBox"工作表个数="&a

EndSub

(3)子程序或函数递归调用——子程序或函数调用自己本身

PrivateSubForm_Load

DimaAsInteger

A=age(5)

Msgbox"第五个人的年龄是"+Str(a)

EndSub

Functionage(nAsInteger)AsInteger

If(n=1)Then

age=10

EndIf

EndFunction

5数组结构

(1)数组的声明:

Dim数组名(N)As数据类型

下标范围是0---N,起始下标是固定值0

Dim数组名(MToN)As数据类型

下界<上界,下标可以是正数,也可以是负数

Dim数组名+数据类型声明符号(N)例如:

DimZ$(9)

下标范围读取:

V1=LBound(数组名)读起始下标

V2=UBound(数组名)读终止下标

数据存取:

数组名后加上“(数据顺序)”,例如:

X(0)=100

要点:

不能一次读取或指定整个数组的数据,如:

DimX(5)AsInteger

X=100错误

(2)动态数组的声明:

ReDim数组名(N)As数据类型

Dim数组名()As数据类型

调整数组大小:

ReDim数组名(MToN)

新的下标范围

ReDimPreserve数组名(MToN)

调整大小时保留数组中的数据

将变量变成数组:

DimX

X=Array("北京","上海","天津")

注意Array函数的传回的值只能指定给不定型变量

 

(3)二维数组的定义:

含有2个下标的数组称为二维数组

二维数组的声明:

DimX(3,5)As数据类型

行(下标0—3)列(下标0—5)

0列1列2列3列4列5列

0行(0,0)(0,1)(0,2)(0,3)(0,4)(0,5)

1行(0,0)(0,1)(0,2)(0,3)(0,4)(0,5)

2行(0,0)(0,1)(0,2)(0,3)(0,4)(0,5)

3行(0,0)(0,1)(0,2)(0,3)(0,4)(0,5)

数据存取:

要使用2个下标确定行列位置

例:

X(1,2)=0.7Print(3,2)

(4)多维数组的定义:

含有2个以上下标的数组称为多维数组

多维数组的声明:

DimX(1,2,3,...)As数据类型

有几个下标就是几维数组

(4)控件数组:

控件Index属性值就是该控件在数组中的下标

 

 

6API函数结构

(1)API函数:

API函数时Windows内部专供应用程序调用的函数

对象属性Hwnd:

不同系统资源唯一的识别码,相当于VB中对象的Name属性

声明位置:

模块通用处用Public声明则其它模块都能调用

窗体通用处只能用Private声明并在本窗体中调用,否则提示“不支持”

kernel

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

当前位置:首页 > 表格模板 > 调查报告

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

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