excel通过VBA进行多条件统计
excel通过VBA进⾏多条件统计
通过函数数组可以进⾏多条件查,但是容易出错,⽽且很慢。下⾯分享⼀条通过VBA实现多条件查的经验给⼤家
⼯具/原料
EXCEL软件
⽅法/步骤
1. 1
以商场2015年第⼀季度电器销售统计为例⼦,“产品”、“品牌”、“⽉份”3个条件的销售额进⾏查询。
2. 2
假设要统计“康佳”的“1⽉”份“各类家电”的销售额,先建⼀个对应列的⼯作簿。如图,输⼊条件1:“成品名称”,条件2:“品牌名称”,条件3:“⽉份”
3. 3
下⾯到了建⽴宏的步骤:单击菜单栏中的“开发⼯具”——插⼊——表单控件——按钮,在出现的⼗字箭头上拖住画出⼀个按钮,如图所⽰。
49
4. 4
在弹出的查红对话框中选择“录制”,在弹出的“录制新宏”对话框中,修改宏名称为“查”,单击确定。
5. 5
单击“开发⼯具”——查看代码,打开VBA编辑器,如图所⽰。
6. 6
在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很慢
8. 8
现在回到EXCEL表格,右击按钮,选择“编辑⽂字”,修改按钮名称为“统计”。那么就完成了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。