vba根据部门分别汇总不同部门下的人员不同培训内容的时长总计,多条件求和
- Option Explicit
- Sub yy()
- Dim d, arr, s$, i&, m&, w$
- Set d = CreateObject("Scripting.Dictionary")
- arr = Sheet1.[a1].CurrentRegion.Value 'a1 数据 返回 a1 单元格周围的区域 ---直到 空行 空列
- ReDim brr( To UBound(arr), To ) '定义数组 brr为 4列 所有数据的最大行号
- w = InputBox("请输入要汇总的部门:" & vbLf & "(不填部门 = 全部)", , "")
- w = IIf(w = "", "*", w)
- For i = To UBound(arr)
- If arr(i, ) Like w Or arr(i, ) = "部门" Then '为条件帅选 部门
- s = arr(i, ) & arr(i, ) & arr(i, ) '为组合条件帅选 人名 内容 部门
- If Not d.exists(s) Then '字典 有 就 s(人名 内容 部门) 带有这三个的时长数值相加 没有就 写入s 与值
- m = m +
- d(s) = m
- brr(m, ) = arr(i, )
- brr(m, ) = arr(i, )
- brr(m, ) = arr(i, )
- brr(m, ) = arr(i, )
- Else
- brr(d(s), ) = brr(d(s), ) + arr(i, )
- End If
- End If
- Next
- Sheet2.[a1].CurrentRegion.Clear '清空第二张工作表a1 单元格周围的区域 ---直到 空行 空列
- Sheet2.[a1].Resize(m, ) = brr ' 第二张工作表a1 单元格周围的区域 ---直到 空行 空列
- 'Resize调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。
- '语法
- '表达式.Resize(行数, 列数)
- '表达式 一个返回 Range 对象的表达式。
- Set d = Nothing '清空字典
- End Sub
sheet1

sheet2
- 部门 人名 内容 时长
- 一部 张三 ABC 4.5
- 一部 张三 专业培训 3.5
- 一部 张三 部门英语培训
- 一部 李四 ABC 3.5
- 一部 李四 BCC 4.5
- 一部 李四 部门英语培训
- 一部 王五 ABC
- 一部 王五 专业培训 1.5
- 二部 王五 BCC 4.5
- 二部 王五 部门英语培训
- 二部 王五 专业培训
- 二部 王五 ABC
- 二部 赵六 一号工程
- 二部 赵六 ABC
- 二部 赵六 BCC
- 二部 赵六 专业培训
- 二部 赵六 外包工程 1.5
- 一部 孙七 ABC
- 三部 钱八 BCC
- 三部 钱八 CDD
- 三部 钱八 管理课程
vba根据部门分别汇总不同部门下的人员不同培训内容的时长总计,多条件求和的更多相关文章
- SQL-26 (二次分组)汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no、dept_name、其当前员工所有的title以及该类型title对应的数目count
题目描述 汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no.dept_name.其当前员工所有的title以及该类型title对应的数目countCREATE TABLE ...
- SQL-22 统计各个部门对应员工涨幅的次数总和,给出部门编码dept_no、部门名称dept_name以及次数sum
题目描述 统计各个部门对应员工涨幅的次数总和,给出部门编码dept_no.部门名称dept_name以及次数sumCREATE TABLE `departments` (`dept_no` char( ...
- Linux Shell脚本简单语法汇总(Deepin下运行)
整理自: https://www.runoob.com/?s=shell Shell 脚本(shell script),是一种为 shell 编写的脚本程序. 业界所说的 shell 通常都是指 sh ...
- Excel各种条件求和的公式汇总
经常和Execl打交道的人肯定觉得求和公式是大家时常用到的.Excel里有哪几路求和公式呢?他们的使用方式又是怎样?我为大家汇总一下. 使用SUMIF()公式的单条件求和: 如要统计C列中的数据,要求 ...
- js读写Cookie问题(Cookie存储时长、Cookie存储域)汇总
在采集网站用户行为数据/使用js对用户行为做交互时,经常会使用到Cookie,了解Js Cookie的读写,以及一些细节,非常重要. 什么是Cookie 所谓Cookie,只是一条极为短小的信息, ...
- 在Linux下安装PHP过程中,编译时出现错误的解决办法
在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...
- 页面滚动动态加载数据,页面下拉自动加载内容 jquery
<!DOCTYPE=html> <html> <head> < script src="js/jquery.js" type=" ...
- JavaScript下拉框去除重复内容
下拉框去除重复内容 <script type="text/javascript" src="http://www.joleye.com/libraries/java ...
- php遍历目录下文件,并读取内容
<?php echo "<h2>遍历目录下文件,并读取内容</h2><br>\n"; function listDir($dir) { i ...
随机推荐
- ABAP ALV F4帮助
ALV F4帮助, 选值保存到ALV. TYPE-POOLS:slis. CLASS lcl_event_receiver DEFINITION DEFERRED. DATA: gt_fcat TYP ...
- Eclipse添加Qt插件
此文件仅为步骤操作作一个记录,以便以后方便查阅. 1.操作大体参考这个网站:http://blog.csdn.net/defonds/article/details/5013412 2.我的运行环境: ...
- 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导【转】
本文转载自:https://my.oschina.net/freeblues/blog/596448 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导 buildroot 是 ...
- 工作笔记——sqlserver引号的运用
一. sqlserver引号问题:因为要使用远程连接,所以sql语句要用单引号括起来 SELECT * FROM OPENQUERY ([192.168.***.***] ,'select * fro ...
- 源代码管理工具SVN
1.源代码管理工具概述 2_SVN常用指令.hm Checkout把整个项目所有的源代码从服务器下载到本地 Update:将服务器上的代码更新到本地(只会更新被修改的文件) Commit:将本地的修改 ...
- Code Project精彩系列(转)
Code Project精彩系列(转) Code Project精彩系列(转) Applications Crafting a C# forms Editor From scratch htt ...
- light oj 1032(数位DP)
求一段区间中,每个十进制数所对应的二进制数中连续的1的个数之和. 设dp[i][0]代表长度为i的二进制数,首位为0,所含有的连续的1的个数之和. dp[i][1]代表长度为i的二进制数,首位为1,所 ...
- bzoj3251
3251: 树上三角形 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 637 Solved: 262[Submit][Status][Discuss ...
- EF include 预先加载
在asp.net mvc 中,常在控制器中预先加载导航属性,以便在视图中能够显示起关联的数据. 如果不预先加载,View中就会无法呈现外键的 关联数据. 会提示EF 错误发生. 一. 模型: publ ...
- 洛谷P4344 [SHOI2015]脑洞治疗仪(珂朵莉树)
传送门 看到区间推倒……推平就想到珂朵莉树 挖脑洞直接assign,填坑先数一遍再assign再暴力填,数数的话暴力数 //minamoto #include<iostream> #inc ...