VBA基础语法
Function ReadPoint(xlSheet As Worksheet) As Point()
ReadPoint = astrPoint
Function 函数 End Function 返回值是函数名
Sub 过程 End Sub
Dim i As Integer 定义变量
For i = 6 To xl.Sheet.UsedRange.Cells.Rows.Count Exit For 退出循环
Next 循环
If Then End If 条件语句
Set astrPoint(nCount) = pointCur 给对象赋值
VBA For Excel
VBA 全称是 VisualBasic for Applications,它是Visual Basic 的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要用于扩展Office软件。
VBA 实例
Function ReadPoint(xlSheet As Worksheet) As Point()
Dim i As Integer
Dim astrPoint() As Point
Dim pointCur As Point
Dim nCount As Integer
Dim strPoint As String
Dim dUpTol As Double
Dim dLowTol As Double
Dim strTemp As String
Dim strDir As String
nCount = 0
For i = 6 To xlSheet.UsedRange.Cells.Rows.Count
strDir = xlSheet.Cells(i, 2)
If strDir <> "" Then
ReDim Preserve astrPoint(nCount)
Set pointCur = New Point
strTemp = xlSheet.Cells(i, 1)
If strTemp <> "" Then
strPoint = Mid(strTemp, 1, 7)
End If
dUpTol = xlSheet.Cells(i, 4)
dLowTol = xlSheet.Cells(i, 5)
pointCur.PointName = strPoint
pointCur.UpTol = dUpTol
pointCur.LowTol = LowTol
pointCur.Dir = strDir
Set astrPoint(nCount) = pointCur
nCount = nCount + 1
End If
Next
ReadPoint = astrPoint
End Function
Function FindIndex(arrPoint() As Point, strPoint As String, strDir As String) As Integer
Dim i As Integer
FindIndex = -1
For i = 0 To UBound(arrPoint)
If arrPoint(i).PointName = strPoint And arrPoint(i).Dir = strDir Then
FindIndex = i
Exit For
End If
Next
End Function
Sub UpdateSheet()
Dim arrPoint() As Point
Dim i As Integer
Dim strPoint As String
Dim strDir As String
Dim pointTemp As Point
Dim nIndex As Integer
arrPoint = ReadPoint(Sheet1)
For i = 9 To Sheet1.UsedRange.Rows.Count
strPoint = Sheet1.Cells(i, 2)
strPoint = Mid(strPoint, 1, 7)
strDir = Sheet1.Cells(i, 4)
nIndex = FindIndex(arrPoint, strPoint, strDir)
If nIndex <> -1 Then
Set pointTemp = arrPoint(nIndex)
Sheet1.Cells(i, 7) = pointTemp.UpTol
Sheet1.Cells(i, 8) = pointTemp.UpTol
End If
Next
MsgBox "OK"
End Sub
用途
可以使用的环境:Word、Excel、Access、PowerPoint。
实现的操作:
1、画面的切换
2、复杂的逻辑(比如从多个表中自动生成按合同号来跟踪生产量、入库量、销售量、库存量的统计清单)
43个典型Excel VBA实例
1、九九乘法表
2、输入个人信息
3、退出确认
4、突出显示不及格学生
6、评定成绩等级
7、计算个人所得税
8、密码验证
9、求最小公倍数和最大公约数
10、输出ASCII码表
11、计算选中区域数值之和
12、换零钱法(多重循环)
13、数据排序
14、彩票幸运号码
15、用数组填充单元格区域
16、判断单元格是否包含公式
17、自动填充公式
18、锁定和隐藏公式
19、将单元格转换为数值
20、删除所有公式
21、用VBA表示数组公式
22、查找指定的值
23、带格式查找
24、查找上一个/下一个数据
25、代码转换
26、模糊查询
27、网上查询快件信息
28、查询基金信息
29、查询手机所在地
30、使用字典查询
31、用VBA代码排序
32、乱序排序
33、自定义序列排序
34、多关键字排序
35、输入数据自动排序
36、数组排序
37、使用Small和Large函数排序
38、使用Rank函数排序
39、姓名按笔画排序
40、用VBA进行简单筛选
41、用VBA进行高级筛选
42、筛选非重复值
43、取消筛选
具体例子转至43个VBA实例