大家好,我是陈小虾,是一名自动化方向的IT民工。写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长。但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教!微信公众号:万能的Excel

功能说明:

工作中经常需要从数据库中统计某一项的全部数据,人工统计不仅繁琐而且容易出错

本工作表使用VBA实现了如下功能:

1、实时统计重复项

2、重复项数据自动求和

3、生成下拉菜单随时调用

附上代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim d1 As Object, d2 As Object, d3 As Object, arr, i As Integer, k, brr, w1 As String, j%Set d1 = CreateObject("scripting.dictionary")Set d2 = CreateObject("scripting.dictionary")Set d3 = CreateObject("scripting.dictionary")arr = Range("a1").CurrentRegionFor i = 2 To UBound(arr)If Len(arr(i, 3)) ThenIf d1(arr(i, 2)) = "" Then  '如果是否有数据d1(arr(i, 2)) = arr(i, 3) '如果该关键字第一次出现d2(arr(i, 2)) = arr(i, 4)d3(arr(i, 2)) = arr(i, 5)'MsgBox "关键字" & arr(i, 1) & Chr(13) & "条目" & d(arr(i, 1))Else '当该关键字出现了第二次以上d1(arr(i, 2)) = d1(arr(i, 2)) + arr(i, 3) '将原有的值加上新出现的值保存起来d2(arr(i, 2)) = d2(arr(i, 2)) + arr(i, 4)d3(arr(i, 2)) = d3(arr(i, 2)) + arr(i, 5)'MsgBox "关键字" & arr(i, 1) & Chr(13) & "条目" & d(arr(i, 1))End IfEnd IfNext ij = Target.RowIf Cells(j, 7) = "" ThenFor Each k In d1.keysw1 = w1 & IIf(w1 <> "", ",", "")w1 = w1 & kNext kWith Cells(j, 7).Validation.DeleteIf w1 <> "" Then.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=w1.InCellDropdown = TrueEnd IfEnd WithElseIf j > 1 ThenCells(j, 8) = d1(Cells(j, 7).Value)Cells(j, 9) = d2(Cells(j, 7).Value)Cells(j, 10) = d3(Cells(j, 7).Value)End IfEnd Sub

关注公众号:万能的Excel     并回复【自动求和】获取源文件!

Excel VBA高级编程 -自动去除重复项 自动求和相关推荐

  1. Excel表中查找、去除重复项方法合集

    第一种,主选项卡开始->条件格式->突出显示单元格规则->重复值. 第二种,主选项卡下,高级筛选,也可以去除重复项,但是这个时候的重复项就是完全重复的才会去除. 第三种,可以在需要做 ...

  2. Excel VBA高级编程 -根据日期查找数据

    关注公众号:万能的Excel     并回复[日期搜索]获取源文件! 功能说明: 打印出货单的时候,经常会需要从数据库中查询一段时间内的所有数据 本工作表使用VBA实现了如下功能: 1.实时统计重复项 ...

  3. Excel VBA高级编程 - 根据关键词实时筛选,自动生成下拉菜单

    关注公众号:万能的Excel     并回复[实时筛选]获取源文件! 功能说明: 当客户群体到达一定数量后,统计信息往往编程一项非常繁琐的工作.根据关键字自动搜索并且列出完整的信息编程一项必不可少的功 ...

  4. Excel VBA高级编程 - 根据关键字自动搜索,自动生成下拉菜单

    关注微信公众号:万能的Excel,回复关键词[下拉菜单]获取Excel源文件 功能说明: 因为工作需要,每一次都要从SAP查找物料信息,手动生成物料清单(Boom表),繁琐且容易出错. 使用VBA实现 ...

  5. Excel VBA高级编程-SQL检索(二)合并相同项并求和

    大家好,我是陈小虾,是一名自动化方向的IT民工.写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长.但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教! ...

  6. Excel VBA 高级编程-来自直男的Excel表白

    关注公众号:万能的Excel     并回复[表白]获取源文件! 七夕快到了,想用另类的表白方式,奈何自己不懂编程?那我就叫你如何用Excel 表白吧! 功能说明: 1.自动播放想说的话 2.用数学公 ...

  7. Excel VBA高级编程-微信群发消息工具

    大家好,我是陈小虾,是一名自动化方向的IT民工.写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长.功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教!微 ...

  8. Excel VBA 高级编程-库存管理系统表

    大家好,我是陈小虾,是一名自动化方向的IT民工.写博客是为了记录自己的学习过程,通过不断输出倒逼自己加速成长.但功能说明:由于水平有限,博客中难免会出现一些BUG,或者有更优方案恳请各位大佬不吝赐教! ...

  9. Excel VBA高级编程-关键字查找数据库

    关注公众号:万能的Excel     并回复[关键字]获取源文件! 功能说明: 这个表格的主要功能是:根据输入的关键字找到数据库中,正确的公司名,生成一个下拉菜单,再根据正确的公司名,找到对应的No生 ...

最新文章

  1. hadoop中MapReduce中压缩的使用及4种压缩格式的特征的比较
  2. Spring、Spring MVC、Spring Boot三者的关系还傻傻分不清楚?
  3. 快刀斩“乱码”,你需要这些套路!
  4. boost::function模块function_typeof的测试程序
  5. 探讨一下Java单例设计模式
  6. 比亚迪赵长江:腾势今年将发布两款 SUV、一款 MPV
  7. Fedora 13 正确安装 VirtualBox 3.2.x 的 步骤
  8. 开源GIS(十一)——openlayers中加载离线标准与自定义切片(深度好文)
  9. Android wakelock机制
  10. 实验五 Flash在线编程实验
  11. jquery weui 图片浏览器Photo Browser 如何使用?
  12. 融合多源信息的知识表示学习方法
  13. 经纬财富:渭南炒现货白银的七条做单习惯
  14. 漫谈唯一设备ID,android开发工程师
  15. iso8583协议说明
  16. 物联网开发笔记(48)- 使用Micropython开发ESP32开发板之控制OLED ssd1306屏幕
  17. OSChina 周一乱弹 —— 为什么人类和人工智能定要一战
  18. 100个标题模板,让你分分钟写出10万+爆文!
  19. android开发技巧精髓一
  20. 行长和副行长笑而不语

热门文章

  1. 仪器科学与技术毕业论文范文
  2. 全系列毕业设计论文来了
  3. 2021 Google 开发者大会进行时: 汇聚开发者合力,共建全球技术生态
  4. 同步上下文(SynchronizationContext)
  5. 函数模板和类模板详解
  6. 强制内联和强制不内联
  7. 如何破解华为家长防护
  8. MIPS-单周期CPU设计
  9. 手指静脉图像分类识别
  10. 六十分之十三——黎明前