Public Sub NextSeven_CodeFrame()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Application.StatusBar = ">>>>>>>>程序正在运行>>>>>>>>" On Error GoTo ErrHandler Dim StartTime, UsedTime As Variant
StartTime = VBA.Timer
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Dim Wb As Workbook
Dim Sht As Worksheet
Dim OpenWb As Workbook
Dim OneSht As Worksheet Dim Arr As Variant
Dim i As Long Dim FolderPath As String
Dim FileName As String
Dim FileCount As Long Dim OneKey
Dim Key As String
Dim Dic As Object Set Dic = CreateObject("Scripting.Dictionary") '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Set Wb = Application.ThisWorkbook
Set Sht = Wb.Worksheets("分类汇总") FolderPath = Wb.Path & Application.PathSeparator
FileCount = 0
FileName = Dir(FolderPath & "*.xls*")
Do While FileName <> ""
If FileName <> ThisWorkbook.Name Then
FileCount = FileCount + 1
Set OpenWb = Application.Workbooks.Open(FolderPath & FileName)
With OpenWb
For Each OneSht In .Worksheets
If OneSht.Name Like "*月" Then
With OneSht
endrow = .Cells(.Cells.Rows.Count, "B").End(xlUp).Row
Set Rng = .Range("A3:F" & endrow)
Arr = Rng.Value
For i = LBound(Arr) To UBound(Arr)
Key = .Name & ";" & CStr(Arr(i, 2) & ";" & Arr(i, 3))
Dic(Key) = Dic(Key) + Arr(i, 4)
Next i
End With
End If
Next OneSht
.Close False
End With
End If
FileName = Dir
Loop With Sht
.Cells.Clear
.Range("A1:D1").Value = Array("月份", "型号与品名", "工序", "总数")
i = 1
For Each OneKey In Dic.Keys
i = i + 1
Key = CStr(OneKey)
.Cells(i, 1).Value = Split(Key, ";")(0)
.Cells(i, 2).Value = Split(Key, ";")(1)
.Cells(i, 3).Value = Split(Key, ";")(2)
.Cells(i, 4).Value = Dic(OneKey)
Next OneKey
SetEdges .UsedRange
End With '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
UsedTime = VBA.Timer - StartTime
MsgBox "本次耗时:" & Format(UsedTime, "0.000秒"), vbOKOnly, "Tips" ErrorExit:
Set Wb = Nothing
Set Sht = Nothing
Set OpenWb = Nothing
Set OneSht = Nothing
Set Rng = Nothing Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Application.StatusBar = False
Exit Sub
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ErrHandler:
If Err.Number <> 0 Then
MsgBox Err.Description & "!", vbCritical, "Tips"
'Debug.Print Err.Description
Err.Clear
Resume ErrorExit
End If
End Sub

  

20170523xlVBA多条件分类求和一例的更多相关文章

  1. Excel技巧--分类求和与空白批量填充

    分类求和: 当我们要对以上多个分类空白求和时,可以巧用Alt+=键: 1.选择对应要求和的列: 2.点击“查找与选择”下拉列,选择“定位条件”,对话框选择“空值”,点确定.将列中的空白单元格选好: 3 ...

  2. PHP多条件分类列表筛选功能开发实例

    PHP多条件分类列表筛选功能开发实例,前后台一起实现 后台对接可以拼接sql语句,PHP通过表单值隐藏值筛选,常用又实用! 表单筛选核心函数 function Filter(a, b) { var $ ...

  3. Excel多条件筛选求和

    单位A 代码B 面积(㎡)C A组 011 124 A组 123 15 A组 011 356 A组 123 44 B组 123 31 B组 011 2 B组 123 2 按照单位和代码求面积的和,可以 ...

  4. robot:根据条件主动判定用例失败或者通过

    场景: 当用例中的断言部分需要满足特定条件时才会执行,如果不满足条件时,可以主动判定该用例为passed状态,忽略下面的断言语句. 如上图场景,当每月1号时,表中才会生成上月数据,生成后数据不会再有改 ...

  5. mysql group by 去重 分类 求和

    w SELECT COUNT(*) FROM ( SELECT COUNT(*) FROM listing_vary_asins GROUP BY asin, countrycode ) AS w; ...

  6. hibernate in List查询条件 sum求和使用参考

    @Override public Integer getSumZongShuByidList(List<String> idList){ Integer zongshu = 0; Stri ...

  7. 20170711xlVBA自定义分类汇总一例

    Public Sub CustomSubTotal() AppSettings On Error GoTo ErrHandler Dim StartTime, UsedTime As Variant ...

  8. 20170612xlVBA多文件多类别分类求和匹配

    Public Sub Basic_CodeFrame() AppSettings 'On Error GoTo ErrHandler Dim StartTime, UsedTime As Varian ...

  9. 以多进程读取oss符合条件的数据为例,综合使用多进程间的通信、获取多进程的数据

    import datetime import sys import oss2 from itertools import islice import pandas as pd import re im ...

随机推荐

  1. VS2010的快捷键;VS2012变化的快捷键

    注释::VS2010是(Ctrl+E,C),VS2012是(Ctrl+K, Ctrl+C),实际操作,按住Ctrl键不放,先按K键,再按C键.相当于Ctrl+K加 Ctrl+C的组合键 反註解:VS2 ...

  2. LLVM/Clang编译相关研究

    https://blog.csdn.net/guojin08/article/details/54310858 https://juejin.im/entry/5c64da44518825620b45 ...

  3. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

  4. 计算概论(A)/基础编程练习1(8题)/3:晶晶赴约会

    #include<stdio.h> int main() { int w; scanf("%d", &w); || w==) { printf("%s ...

  5. JQuery判断input是否被禁用

    <script src="jquery.min.js"></script> <br/><input type="text&quo ...

  6. 安装OpenOffice

    附件: OpenOffice 1.下载解压 tar -zxvf Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz 2.安装 / ...

  7. 《网络对抗》拓展:注入shellcode

    实践三 知识要求: shellcode:指溢出后执行的能开启系统shell的代码.但是在缓冲区溢出攻击时,也可以将整个触发缓冲区溢出攻击过程的代码统称为shellcode,因此可以将shellcode ...

  8. 小工具:使用Python自动生成MD风格链接

    很久之前我在Github上搞了一个LeetCode的仓库,但一直没怎么维护.最近发现自己刷了不少LC的题目了,想搬运到这个仓库上. 玩Github最重要的当然是写README了,MD的逼格决定了项目牛 ...

  9. 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 2 章 答案

    判断对错1.编写程序的好方法是立即键入一些代码,然后调试它,直到它工作.2.可以在不使用编程语言的情况下编写算法.3.程序在写入和调试后不再需要修改.4.Python 标识符必须以字母或下划线开头.5 ...

  10. FJUT 奇怪的数列(线性选择算法)题解

    题意:找出无需数列中位数(偶数为两个中位数平均数向下取整) 思路:用nth_element(a + first,a + k,a+ end + 1)找出中位数,复杂度一般为O(n).这个STL能将 [ ...