[VBA]去重汇总-2
代码来源Excelhome,链接:http://club.excelhome.net/thread-1360829-1-1.html
存着,以后借鉴着用^-^
Sub 去重汇总()
Dim arr, brr
Dim d
Dim i As Integer, j As Integer, n As Integer, m As Integer
Dim lastrow As Integer
Dim str As String
lastrow = Worksheets(1).Range("b65536").End(xlUp).Row
arr = Worksheets(1).Range("b2:f" & lastrow)
Set d = CreateObject("scripting.dictionary")
ReDim brr(1 To lastrow, 1 To 4)
For i = 1 To UBound(arr)
For j = 1 To 2
For k = j + 1 To 3
If arr(i, j) < arr(i, k) Then
tem = arr(i, j)
arr(i, j) = arr(i, k)
arr(i, k) = tem
End If
Next
Next
str = arr(i, 1) & " " & arr(i, 2) & " " & arr(i, 3)
str = Trim(str)
If d.exists(str) = False Then
n = n + 1
d(str) = n
brr(n, 1) = str
m = n
Else
m = d(str)
End If
brr(m, 2) = brr(m, 2) + 1
brr(m, 3) = brr(m, 3) + arr(i, 4)
brr(m, 4) = brr(m, 4) + arr(i, 5)
Next i
Range("i2").Resize(m, 4) = brr
End Sub
效果:
[VBA]去重汇总-2的更多相关文章
- [VBA]去重汇总
问题描述:汇总多个工作表的指定字段到sheet1里面,并去除重复的字段内容. Sub 去重汇总() Dim sht As Worksheet, j As Integer, x As Integer S ...
- JavaScript中数组去重汇总
1. 简单的去重方法,利用数组的indexOf下标属性来查询 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ func ...
- 数组去重汇总—v客学院技术分享
上周基础班结束了数组的学习内容,这几天有时间整理了下几种比较常用的数组去重的方法供大家查阅!!!!! 话不多说,直接贴代码吧~~~~~~~ 欢迎大家指正,共同学习,一同进步!!! (php开发,web ...
- excel,access常用公式函数VBA代码汇总文章
批量将CSV导入access alt+f11 打开access的vbe环境 Sub test() Dim SQL As String Dim MyPath As String Dim MyPathDb ...
- [原创]VBA实现汇总excel,将多个Excel文件内容复制到一个Excel文件中
功能:遍历用户指定的文件夹,把文件夹中所有的excel文件的第一个表格的数据复制到本excel文件中.注意,每个excel文件中有效数据行的判断标准是A列的最后一个有数据的单元格的行号,比如A列到第1 ...
- 写好Hive 程序的若干优化技巧和实际案例
使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑.但是一个”好”的Hive程序需要对Hive运行机制有深入的了解,像理解mapreduce作业一样理解Hive QL才能写出正确.高效 ...
- Hive 12、Hive优化
要点:优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜. 理解hadoop的核心能力,是hive优化的根本. 长期观察hadoop处理数据的过程,有几个显著的特征: 1. ...
- Hive优化案例
1.Hadoop计算框架的特点 数据量大不是问题,数据倾斜是个问题. jobs数比较多的作业效率相对比较低,比如即使有几百万的表,如果多次关联多次汇总,产生十几个jobs,耗时很长.原因是map re ...
- Hive使用必知必会系列
一.Hive的几种数据模型 内部表 (Table 将数据保存到Hive 自己的数据仓库目录中:/usr/hive/warehouse) 外部表 (External Table 相对于内部表,数据不在自 ...
随机推荐
- deep_learning_Function_tensorflow_random_normal_initializer
函数原型:tf.random_normal_initializer(mean=0.0, stddev=1.0, seed=None, dtype=tf.float32) 返回一个生成具有正态分布的张量 ...
- Linux运维课程体系大纲
Linux入门: Linux系统管理: Linux服务及安全管理: httpd,lamp,lnmp Cache:memcached,varnish(缓存系统) ...
- Vue自行封装常用组件-弹出框
使用方法: 1.在父组件中引入"box.vue" //import popUpBox from "./box.vue"; 2.在父组件中注册 popUpBo ...
- 17JQuery
1. 概念 一个JavaScript框架.简化JS开发 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScrip ...
- crt0.o
crt1.o, crti.o, crtbegin.o, crtend.o, crtn.o 等目标文件和daemon.o(由我们自己的C程序文件产生)链接成一个执行文件.前面这5个目标文件的作用分别是启 ...
- k8sDeployment控制器
简写为deploy,是k8s控制器的另一种实现,它构建于ReplicaSet之上,可为pod和rs资源提供声明式更新. deploy控制器资源的大部分功能均可通过调用rs来实现,同时,还增添了部分特性 ...
- 51 Nod 1086 多重背包问题(二进制优化)
1086 背包问题 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放 ...
- 论文阅读:Fast, Scalable, and Programmable Packet Scheduler in Hardware
摘要: 随着链接速度的提高和CPU扩展速度的放缓,软件中的数据包调度会导致较低的精度和较高的CPU利用率. 通过将数据包调度卸载到诸如NIC之类的硬件,可以潜在地克服这些缺点.然而为了保持软件分组调度 ...
- selenium实现chrome分屏截图的合并
selenium的截图功能在chrome下无法实现,但是可以操作滚动条来一屏一屏的截图,然后再合并成一张图,合并图片的代码在网上找的,十分感谢那位朋友,具体解决方案如下:直接上代码: def capt ...
- vue-cli中route和router的区别
在使用vue-router的时候经常分不清router和route的区别: 在函数式编程中: this.$router.push('/login') 或者Router.push() 在动态获取路由参数 ...