VBA操作Excel

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实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值