字典
文章平均质量分 60
taller_2000
不积跬步,无以至千里;不积小流,无以成江海
展开
-
使用VBA快速统计词组词频(多单词组合)(2/2)
实例需求:产品清单如A列所示,现在如下统计多单词组合词组词频。 在上一篇博客中[使用VBA快速统计词组词频(多单词组合)(1/2)](https://blog.csdn.net/taller_2000/article/details/134804555)讲解了如何实现双词的词频统计。本文将讲解如何实现3词的词频统计,掌握实现方法之后,可以很容易地将代码扩展到实现更多单词词频统计,实现的效果如下图所示。原创 2023-12-15 02:39:47 · 243 阅读 · 0 评论 -
使用VBA快速统计词组词频(多单词组合)(1/2)
实例需求:产品清单如A列所示,现在如下统计词组词频。想必各位小伙伴都指定如何使用字典对象实现去重,进而实现单个单词的词频统计。但是统计词组词频就没有那么简单了,为了便于演示,此处的词组只限于两个单词的组合。提到词组,很多时候大家先想到的是如何将获取全部的组合,例如n个无重复单词,可以产生的无重复词组个数为C(n,2) ,但是在本示例中并不需要获取这些全部组合,实现思路自然也就不同了。原创 2023-12-05 13:08:42 · 288 阅读 · 0 评论 -
VBA快速合并更新数据
实例需求:Sheet1中的数据每日更新,Sheet2的数据为数据总表,现需要每天将Sheet1的数据更新至Sheet2中,如果Name+Color组合在Sheet2中已经存在,那么更新该行的Sales列数据,如果不是全新的数据,那么将该数据行追加到Sheet2数据表之后。原创 2023-11-17 14:26:41 · 209 阅读 · 0 评论 -
VBA快速动态考勤统计
实例需求:某公司的上下班打卡记录如下所示,其中`Table_In`为上班打卡记录,`Table_Out`为下班打卡记录。现在需要根据日期整理为如下格式的考勤表。需要注意如下几点:- 每天的打卡次数不确定- 最后一列`Total/Day`统计该天的出勤总时长,忽略有缺卡的时间段- 对于缺卡记录标记为`Missing`,例如10/14,员工108500,7:59:34和14:59:34两次上班打卡记录之间并没有下班打卡记录,那么7:59:34对应的下班打卡记录为缺失原创 2023-11-04 02:07:26 · 685 阅读 · 0 评论 -
使用VBA字典快速计算材料配比
实例需求:每个工序需要多种部件,现在需要计算部件采购占比- 如果只有一个供货商,那么占比为100%【参见绿色行】- 如果有多个供货商,那么最低价供货商占比为70%,最高价供货商占比为30%【参见黄色区域】- 不考虑两个部件单价相同的清空- 原料列中部分数据包含@,可以忽略,即`@2`和`2`是相同的原料原创 2023-08-01 13:48:16 · 339 阅读 · 0 评论 -
使用字典快速输入编号(匹配编码表)
实例需求:在A列输入样品名称之后,在B列字段填写编号,其规则如下:- 如果A列已经存在相同`样品名称`,则将编号递增,例如:A15输入沥青,最后一行相同样品名称在第12行,B15填写递增的编号`YP-2023-LQJ-003`- 如果A列并不存在相同`样品名称`,那么在Sheet2工作表中查找其编号规则,例如:A16输入土,找到其编号规则为`YP-2023-TGJ-`,B16填写编号`YP-2023-TGJ-001`原创 2023-03-01 01:57:37 · 256 阅读 · 0 评论 -
使用VBA获取电脑MAC地址
这个需求看似有些无厘头,为嘛要用VBA来读取MAC地址,存在的就是合理的。例如使用MAC地址和其他硬件信息可以生成电脑的唯一识别号,用于软件注册和实现软件狗功能。当然可能还也更多的应用场景。VBA对象模型只是涵盖Office对象,如果需要读取硬件信息,就要借助WMI(Windows Management Instrumentation),其简单介绍请参考 [***微软官方文档***](https://learn.microsoft.com/en-us/windows/win32/wmisdk/about原创 2023-02-01 07:22:45 · 1757 阅读 · 0 评论 -
使用字典快速获取唯一值与重复值【单个字典对象】
在以前的博客《[**使用字典快速获取唯一值与重复值(交集与并集)**](https://blog.csdn.net/taller_2000/article/details/86755973)》使用多个字典对象获取交集与并集,最近有同学提问,是否可以只使用一个字典对象实现相同的功能,对于有“编程洁癖”的同学来说,可能不喜欢使用多个字典对象。实例需求:表1和表2为两个名单,不同班级有同名的学生,例如表2中有两个小王(截图中黄色单元格),因此需要使用`班级+姓名`作为学生的唯一识别标识,现在需要统计如下三个清原创 2023-02-01 04:26:31 · 451 阅读 · 0 评论 -
VBA遍历字典对象中独门秘籍
看到这个标题,相信读者肯定非常不屑的任务我在故弄玄虚,客官莫急,我说说你听听,肯定会有新故事。字典对象是VBA中常用的对象之一,对于这种这种对象通常用两种绑定方式:前期绑定和后期绑定。前期绑定需要在VBE中先引用相关扩展库,前期绑定的优势在于书写代码时可以智能提升相关属性和方法。后期绑定使用CreateObject函数创建相关对象,后期绑定的优势在于,代码发布给用户后,用户无需引用相关扩展库,就可以直接运行代码。...原创 2022-06-03 11:04:42 · 4497 阅读 · 1 评论 -
嵌套字典统计非重复日期
示例数据如A列和B列所示,现在需要统计项目编号的不重复日期次数。声明一下,这个问题其实完全不需要使用VBA代码,数据透视表和公式实现起来都更直接。这个主题来自于一个网友的提问,希望研究如何使用VBA中的字典解决此问题。原创 2022-03-09 13:51:26 · 324 阅读 · 0 评论 -
快速对比数据
实例需求:日常工作中经常需要对比数据,例如如下的参会名单,现在需要对比两届参会名单的异同,100个人的名单,看得老眼昏花也未必能够准确的找出差异。Function strCompare(ByVal Rng1 As Range, ByVal Rng2 As Range) As String Dim strRemove As String, strAdd As String, strKey Dim currDic, newDic, c Set currDic = CreateObj原创 2020-12-21 04:08:48 · 1712 阅读 · 2 评论 -
VBA字典数组转置维度变化
字典是VBA中经常使用的对象,有时需要将字典对象中保存数据转为数组,然后做进一步处理,在使用过程中经常会遇到数组下标越界之类的问题,下面就讲讲字典到数组的转换。原创 2020-06-18 11:52:10 · 2718 阅读 · 0 评论 -
Excel巧设公式(字典+数字)
有个网友提了这样的一个需求:A中有包含重复值的数据,现在需要将重复值所在单元格的值改为公式引用。例如:A6单元格值为3,第一个出现3的单元格为A5,所以将A6公式设置为=$A$5,其他单元格以此类推。方法1示例代码如下:Sub Demo1() Dim Dic As Object, dKey Dim c As Range Dim sKey As String S...原创 2020-03-19 12:21:01 · 1904 阅读 · 0 评论 -
VBA之正则表达式(7)-- 乾坤大挪移(数据整理)
实例需求:数据保存在A列中,数据组之间使用全角逗号分隔,重整后需要将每组数据开始的圆括号部分移动到末尾,并合并相同的全角方括号内容。貌似这个需要有些拗口,实际效果见B列。原创 2019-04-25 01:59:22 · 5116 阅读 · 9 评论 -
使用字典快速获取唯一值与重复值(交集与并集)
数据处理工程中经常用到去重和取唯一值,或者取几组数据的交集与并集,其实这两类问题的求解思路是相同的。字典对象中的元素具备唯一性,因此经常被用来处理此类问题。假设有如下数据集合,对于B列和C列数据需要求取交集和并集等数据集合。示例代码如下:'Option ExplicitSub LoadData() Dim aData, aRes, lst, iRow, iCol, iKeyCo...原创 2019-02-03 08:18:44 · 2167 阅读 · 1 评论 -
并肩作战的好兄弟实现快速汇总:字典 + 数组
前言VBA开发者经常讨论的一个话题就是:字典和数组哪个效率更高?使得很多VBA初学者懵懂的认为,这两者非此即彼,水火不容。其实很多应用场景中,它们是并肩作战的好兄弟。实例需求已有生产排程数据如下所示。 需要整理为如下格式。 数据合并的要点有三个:料号和机种号为统计的关键字段未交数量求和交期汇总,包含时间和数量示例代码Sub LoadData(...原创 2018-03-07 04:15:31 · 2940 阅读 · 2 评论