VBA基础知识

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VBA基础知识

1、VBA有三种程序类型:宏程序、自定义函数程序、事件程序

1)宏程序

Sub A()’公用程序,可以被其它程序调用

Range("a1”)= 100

End Sub

Private Sub A()’私有程序,不可以被其它程序调用

Range(”a1")= 100

End Sub

调用实例1):

Sub A()

Range("a1”)= 100

End Sub

Sub B()

Call A ’Call为调用命令,也可以省略

End Sub

调用实例2):

Sub 统计(N)

If N = 1 Then

Range(”C2")= Application。WorksheetFunction.CountA(Range(”a:a")) ElseIf N = 0 Then

Range(”D2”)= Application.WorksheetFunction.Sum(Range(”a:a"))End Sub

Sub 计数()

统计1

End Sub

Sub 求和()

统计0

End Sub

2)自定义函数程序

Function 工作表数量()

工作表数量=Sheets.Count '取工作表个数

End Sub

应用:(1)可以在单元格中直接调用:例在A1中输入:=工作表数量()(2)程序中调用:Sub A1中输入工作表数量()

Range (“A1”) = 工作表数量'调用自定义函数

End Sub

3)事件程序

例如程序在打开工作表时触发:

Private Sub Workbook_Open()

Range (“A1”) = 100

End Sub

Sub mycopy()

Range(”A1”)。Copy Range(”B1”) '将A1单元格里的数据复制到B1单元格End Sub

Sub mydel()

Sheets("sheet1”)。Delete '删除工作表sheet1

End Sub

常用的函数:&(连接函数);\(整除函数);mod(求余数函数)

2、With语句:

'未使用with语句

Sub 字体格式1()

Range("A1") = ”宋体”

Range(”A1")。Font.Size = 14

Range("A1").Font.ColorIndex = 3

Range(”A1")。Font。Bold = True

End Sub

'使用with语句

Sub 字体格式1()

With Range("A1").Font

。Name = ”宋体”

.Size = 14

.ColorIndex = 3

.Bold = True

End With

End Sub

3、If语句:

1)单条件判断:

Sub 正数()

If Range("a1").Value 〉0 Then

Range("a2”)。Value = “正数”

Else

Range(”a2").Value = “非正数”

End If

End Sub

2)多条件判断:

Sub 正数()

If Range("c1”)。Value > 0 Then

Range(”d1”)。Value = "大于零”

ElseIf Range(”c1")。Value 〈0 Then

Range("d1")。Value = "小于零”

ElseIf Range("c1")。Value = 0 Then

Range("d1”)。Value = "等于零”

End If

End Sub

Sub 判断男女()

If Range("c1").Value = 1 Then

Range(”d1").Value = ”男"

ElseIf Range(”c1")。Value = 0 Then

Range(”d1").Value = ”女"

Else

Range(”d1”)。Value = "非男非女"

End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Call 判断男女’调用上面子程序,当单元格数值改变时触发子程序运行End Sub

3)使用Select Case语句:

Sub 多重判断()

Select Case Range("a1")

Case Is 〈0

Range(”b1")= "小于零”

Case Is > 0

Range(”b1”) = ”大于零”

Case Is = 0

Range(”b1”)= ”等于零"

End Select

End Sub

4)循环语句:

'循环语句,从A1~A100依次填入1~100

Sub a()

Dim x ’定义变量X

For x = 1 To 100

Range(”a" &x)= x

Next x

End Sub

Sub a()

Dim x '定义变量X

For x = 1 To 100 Step 2

Range("a” & x) = x

Next x

End Sub

4、模块:

普通模块:无事件

类模块:有事件

工作表和工作簿是类模块,窗体也是类模块

相关文档
最新文档