Excel 2010 VBA 入门 106 带参数的过程

本文介绍了Excel VBA中如何创建和使用带参数的过程。通过示例,展示了如何编写一个接受年份参数的汇总过程,并为不同按钮调用此过程实现不同条件的汇总。还讲解了参数的声明、调用方式以及`Application.Run`方法的使用,帮助初学者理解参数过程的编写和应用。
摘要由CSDN通过智能技术生成

目录

示例

代码

使用含有参数的过程供多个过程调用

含有参数的过程的声明方法

编写含有参数的过程的方法

使用Application. Run调用过程


示例

    在VBA编程中,经常需要反复实现某种相同的数据处理,而其数据处理的触发机制却是多样化的,可能通过事件,也可能通过单击按钮。如图所示,该表为某公司2009年和2010
年的工资明细,制作了查询表,插入了两个按钮,通过单击这两个按钮分别查询2009年与2010年按部门汇总的工资表。

示例数据下载

https://download.csdn.net/download/ngbshzhn/20298070

代码

    编写一个带有参数的汇总过程,以年份作为参数传递。为两个按钮分别编写代码,通过传递不同的年份实现不同的汇总。

Option Explicit
Sub sum2009()
    Call MySum(2009)
End Sub

Sub sum2010()
    Call MySum(2010)
End Sub

Sub MySum(iYear As Integer)
    Dim shtSum As Worksheet     '汇总表
    Dim shtData As Worksheet    '数据表
    Dim arrSum                  '汇总数组
    Dim arrData                 '数据数组
    Dim rowSum As Long          '汇总表行号
    Dim rowData As Long         '数据表行号
    Dim rowNew As Long          '汇总表总行数
    Dim colN As Long
    Dim sDept As String         '部门
    Dim bln As Long             '查找标识变量
    
    Set shtData = Sheets("sheet1")
    Set shtSum = Sheets("sheet2")
    
    '数据数组赋值
    arrData = shtData.Range("A1").CurrentRegion.Value
    
    rowNew = 0
    '汇总数组第一维下限与原始数组一致
    ReDim arrSum(Range("C1").Column To Range("P1").Column, 1 To 1)
    
    For rowData = 2 To UBound(arrData)
        If Year(arrData(rowData, UBound(arrData, 2))) = iYear Then
            sDept = arrData(rowData,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值