excel通过VBA进行多条件统计


通过函数数组可以进行多条件查找,但是容易出错,而且很慢。下面分享一条通过VBA实现多条件查找的经验给大家

工具/原料

 
  • EXCEL软件

方法/步骤

 
  1. 1

    以商场2015年第一季度电器销售统计为例子,“产品”、“品牌”、“月份”3个条件的销售额进行查询。

    excel通过VBA进行多条件统计
  2. 2

    假设要统计“康佳”的“1月”份“各类家电”的销售额,先建一个对应列的工作簿。如图,输入条件1:“成品名称”,条件2:“品牌名称”,条件3:“月份”

    excel通过VBA进行多条件统计
  3. 3

    下面到了建立宏的步骤:单击菜单栏中的“开发工具”——插入——表单控件——按钮,在出现的十字箭头上拖住画出一个按钮,如图所示。

    excel通过VBA进行多条件统计
  4. 4

    在弹出的查找红对话框中选择“录制”,在弹出的“录制新宏”对话框中,修改宏名称为“查找”,单击确定。

    excel通过VBA进行多条件统计
  5. 5

    单击“开发工具”——查看代码,打开VBA编辑器,如图所示。

    excel通过VBA进行多条件统计
  6. 6

    在VBA编辑器点击插入-模块,如图

    excel通过VBA进行多条件统计
  7. 7

     现在我们来输入代码:

    Sub 查找()

    Dim i As Integer, j As Integer

    arr1 = Sheets("数据").Range("A2:D" & Sheets("数据").Cells(Rows.Count, "A").End(xlUp).Row)

    arr2 = Sheets("查找").Range("A2:D" & Sheets("查找").Cells(Rows.Count, "A").End(xlUp).Row)

    For i = 1 To UBound(arr2)

        For j = 1 To UBound(arr1)

            If arr2(i, 1) = arr1(j, 1) And arr2(i, 2) = arr1(j, 2) And arr2(i, 3) = arr1(j, 3) Then

                arr2(i, 4) = arr1(j, 4)

                GoTo 100

            End If

        Next

        arr2(i, 4) = ""

    100:

    Next

    Sheets("查找").Range("A2:D" & Sheets("查找").Cells(Rows.Count, "A").End(xlUp).Row) = arr2

    End Sub

    excel通过VBA进行多条件统计
  8. 8

      现在回到EXCEL表格,右击按钮,选择“编辑文字”,修改按钮名称为“统计”。那么就完成了

    excel通过VBA进行多条件统计
     


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM