上篇博文中,小爬曾多次为VBA字典带货.鼓励多用字典,可以让我们的VBA脚本工具执行更快.今天小爬来细聊一下VBA字典的具体应用!如果你有一定VBA基础,那么看完你一定会对VBA字典有全新的认识:如果你还是这方面的新手,也不影响点赞收藏哈. 字典,其实就是一些"键-值"对.使用起来非常方便,有类似于微型数据库的作用,可用于临时保存一些数据信息.在很多其它编程语言里,我们也常称它为MAP. 我们先来简单看下字典如何创建,又具备哪些属性和方法. 一.字典的创建,用的是WSH引用 Dim m…
小学生都能学会的python(字典{ }) 1. 什么是字典 dict. 以{}表示. 每一项用逗号隔开, 内部元素用key:value的形式来保存数据 {"jj":"林俊杰", "jay":"周杰伦"} 查询的效率非常高, 通过key来查找元素 内部使用key来计算一个内存地址(暂时),hash算法. key必须是不可变的数据类型(key 必须是可哈希的数据类型) 可哈希就是不可变 2. 字典的增删改查 1. 字典的新增:…
'字典并不存在于VBA中,需要调用 '调用方式1(前期绑定): '工具 --引用 - -浏览 - -找到scrrun.dll - 确定 '调用方式2 (后期绑定): ' Set d = CreateObject("scripting.dictionary") '编写代码时,建议使用前期绑定(写代码时有提示),编写完成后改成后期绑定 '创建一个字典对象dict Dim dict As New Dictionary '前期绑定 'Set dict = CreateObject("…
最近写了一些小功能,对字典有了进一步的理解,太强大了! 个人最近用过的字典应用有这么几个,写下来防止自己忘~同时方便大家 一.查找重复行 [原理]利用字典的exist方法,将数据加入字典时判断一下,如果已经存在,就说明当前数据为重复数据,应该删除 [示例代码] Sub chongfu() '查重 Dim i As Long Dim endline As Long '定义工作表长度变量 endline = Sheet3.Range("A30000").End(xlUp).Row '获取工…
Function Desc(ProdNum) Desc = Application.WorksheetFunction.VLookup(ProdNum, Range("myTable"), 2, 0) End Function Function DAdded(ProdNum) DAdded = Application.WorksheetFunction.VLookup(ProdNum, Range("myTable"), 3, 0) End Function Fun…
Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Column = 26 And Range("f" & Target.Row) = "柏广清" Then Set d = CreateObject("scripting.dictionary")rng = Sheets("基础资料").Range("c8:c9"…
Excel是办公利器,这无需多言.尤其在办公室,Excel用的熟练与否,会的Excel知识点多不多,很大程度上决定了你工作是否高效,能否按时打卡下班.可我们也时常听到这样的吐槽:Excel好是好,可就是表格大了之后,公式多了之后,它运算起来忒慢了. 我们写VBA宏,除了要实现特定的自动化功能,还肩负一个极其重要的使命:让Excel快起来~那么如何优化我们的VBA代码,给Excel宏提速呢? 方法一:启用[手动计算] 我们都知道[公式]菜单栏有[计算选项],可以选择[自动计算].[手动计算],一般…
小爬在之前的博文中多次提到,可以在VBA中写SQL来操作Excel文件,实现各类数据处理和分析需求.那么,你可能有这样的疑问:Excel原生的VBA,数据透视表,数据分析功能不够吗,为啥一定要用SQL来实现呢?在Excel VBA中使用SQL到底优势在哪儿?今天小爬就来带大家好好捋一捋这些问题. 首先,在VBA中写SQL,这基本算VBA的高阶功能,不是所有人都掌握,因此,上述的场景除了SQL,确实都有其它技术方案.其次,如果我们对别的技术运用的更熟练,我们完全可以用自己最擅长的技术栈来解决问题.…
你生命中的有些东西终究会失去,比如我住了6年的陈寨,这个聚集了郑州十几万IT民工的地方,说拆就拆了.再比如我玩了3年的坦克英雄,这个带给我太多快乐的游戏,说停就停了. 编程对我而言是种爱好,我上学6年,工作14年,期间学会了二十多种编程语言,新潮如go和swift,生冷如F#和lisp,我都学过,至于热门的,编程语言排行榜上前14位的语言,我都会用.也许你觉得我是在吹牛,那就让我从头说起吧.     我上中学时开始学习编程,那时候没见过什么电脑,看书上说电脑是由主机显示器和硬盘驱动器组成的,我想…
VBA实际上就是操作Excel,把Excel进行拆解,划分多层对象,由顶至下为(也可以说是层层包裹): Application:代表Excel程序本性,之后我们操作对象都在它之下,因为是唯一且至高点,所以代码中可以忽略不写它,因为必定是它的. Workbook:代表一个工作薄,加个s后的Workbooks代表当前打开的所有的工作薄. Worksheet:代表一个工作表,加工s后的Worksheets代表当前工作薄的所用工作表. Range:可以理解为一个工作表中的工作范围.同等级的还有Rows和…