当前位置:   article > 正文

Excel 2010 VBA 入门 106 带参数的过程_vba带参数的过程如何调用

vba带参数的过程如何调用

目录

示例

代码

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

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

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

使用Application. Run调用过程


示例

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

示例数据下载

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

代码

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

  1. Option Explicit
  2. Sub sum2009()
  3. Call MySum(2009)
  4. End Sub
  5. Sub sum2010()
  6. Call MySum(2010)
  7. End Sub
  8. Sub MySum(iYear As Integer)
  9. Dim shtSum As Worksheet '汇总表
  10. Dim shtData As Worksheet '数据表
  11. Dim arrSum '汇总数组
  12. Dim arrData '数据数组
  13. Dim rowSum As Long '汇总表行号
  14. Dim rowData As Long '数据表行号
  15. Dim rowNew As Long '汇总表总行数
  16. Dim colN As Long
  17. Dim sDept As String '部门
  18. Dim bln As Long '查找标识变量
  19. Set shtData = Sheets("sheet1")
  20. Set shtSum = Sheets("sheet2")
  21. '数据数组赋值
  22. arrData = shtData.Range("A1").CurrentRegion.Value
  23. rowNew = 0
  24. '汇总数组第一维下限与原始数组一致
  25. ReDim arrSum(Range("C1").Column To Range("P1").Column, 1 To 1)
  26. For rowData = 2 To UBound(arrData)
  27. If Year(arrData(rowData, UBound(arrData, 2))) = iYear Then
  28. sDept = arrData(rowData,
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/860801
推荐阅读
相关标签
  

闽ICP备14008679号