VBA学习总结(1)

来源:互联网 发布:md5加密 js 编辑:程序博客网 时间:2024/04/28 07:42

VBA学习总结

 最近有个VBA相关的项目,抽空周末看了看,记录下方便查找。


1基本数据类型(12种)

Boolean, Byte, Currency, Date, Decimal,Double, Integer, Long,

Object, Single(单精度浮点型), String, Variant(变体形)

 

2自定义数据类型

Type 类型名

元素名1 As  类型1

元素名2 As  类型2

……

End Type

 

例:

Type Worker

       NameAs String

       SexAs Boolean

End Type

 

3声明常量、变量、数组

①Const ID AS String = “abc”

②Dim d As Date

d = #Dec 17,2011#

③定义一维数组

Dim Dept (0 to 10) As String

④定义二维(11*11)数组

Dim Arr (10, 10) As Integer

⑤定义动态数组

Dim Dept() As String

将数组扩充10个元素

ReDim Preserve Dept (UBound(Dept) + 10)

 

4算术运算符

^ 指数运算符

\ 取商运算符

Mod 取余运算符

 

5比较运算符

<> 不等于

Is 比较两个对象引用是否指向同一个对象

Like 比较字符串是否与模板字符串匹配

 

6逻辑运算符

And 逻辑与

Or 逻辑或

Not 逻辑非

Xor 逻辑异或

Eqv 逻辑同或

Imp 逻辑蕴涵

 

例:

exp1 Imp exp2

当 exp1为True,exp2为False是,结果为False;其余情况为True。

 

7流程控制

①顺序结构

Sub todo()

       Debug.Print“Hello”

       Debug.Print“World”

End Sub

 

②条件(选择)结构

例1:

If 条件1 Then

Else

End If

 

例2:

If 条件1 Then

ElseIf 条件2 Then

ElseIf 条件3 Then

Else

End If

 

③循环结构

例1:

Dim i As Integer

For i = 10 To 1 Step -1

       …

       [ExitFor]

       …

Next i

例2:

For Each 数组元素 In 数组名

[Exit For]

Next 数组元素

 

例3:

Do While 条件1

[Exit Do]

Loop

 

例4:

While 条件1

Wend

 

8定义过程

①Sub过程:没有返回值的函数

②Function过程:可以有返回值的函数

例:

Function Sum(a As Integer, b As Integer) AsInteger

       Sum= a + b

End Function

 

过程的调用

例:

Sum 5, 10

 

参数传递

・传值方式 ByVal

・传引用方式 ByRef(默认)

 

9 VBA对象

・Application

・Workbooks

・Worksheets

・Range:代表某一单元格,某行,某列或一个选定区域

・Cells:代表一个单元格

 

例:

Range(“A1”)   A列1行

Range(“A1:B5”)     表示A列1行到B列5行的区域

Cells(1,2)              1行2列

 

获取单元格”A1”所在区域的行数与列数

RCnt = Worksheets(“Sheet1”).Range(“A1”).CurrentRegion.Rows.Count

CCnt = Worksheets(“Sheet1”).Range(“A1”).CurrentRegion.Columns.Count

 

10使用Excel内置函数                                                        

・Application.WorksheetFunction.函数名(参数列表)

例:

Application.WorksheetFunction.Sum(1, 2, 3, 4, 5)


原创粉丝点击