键可以理解为新华字典检字表中的关键字,而值可以理解为对关键字的解释。字典在数据的去重上很有用。 在VBA字典中,有4个属性和6种方法,相比其它的对象要简洁得多,而且容易理解。...设置或者返回在Dictionary对象中进行字符串关键字比较时所使用的比较模式。 object.CompareMode [ = compare ] compare: 代表比较模式的值。...常用的值有0和1。0代表二进制比较,区分大小写;1代表文本比较,不区分大小写。默认是二进制比较,区分大小写,即关键字B和b是不一样的。...,不区分大小写 dic.Add "a", "苹果" dic.Add "b", "香蕉" dic.Add "c", "雪梨" dic.Add "B", "火龙果"...'程序报错,提示key已存在 End Sub 上述代码中,由于设置的比较模式为文本模式,不区分关键字的大小写,即关键字b和B是一样的,因此程序会报错。
在VBA上可以调用正则表达式库,从而编写正则表达式自定义函数,这个相信不少VBA开发者已经熟知,但VBA的VBScript正则表达式库毕竟是一个过时的产品,不像.Net那样是与时俱进的,所以两者实现出来的正则功能还是有区别的...options | item; } } return options; } 以上代码发现,没有对常用的区分大小写等选项进行实现...,因为在.net里有更强大的方式,可以精确控制选项的作用范围(无需整个匹配都对区分大小写来生效,可精确控制到哪些字符前中后才控制区分大小写等) Excel催化剂自定义函数只对不能使用内联构造的选项进行参数配置...Excel催化剂自定义函数只对不能使用内联构造的选项进行参数配置 下面的示例使用 i、n 以及 x 选项启用区分大小写和显式捕获,并忽略正则表达式中间的正则表达式模式中的空白。...在Excel催化剂里,大量外部的力量来加强Excel自身无法实现的功能,后面陆续给大家推送一些笔者发现的很不错的轮子,不局限在.Net的现成类库还有其他外部专业程序猿写的类库轮子,供大家使用,带来代码的更大便利性
标签:Word VBA 本示例演示如何使用代码删除已排序表中第1列内容相同的行,代码如下: Sub DeleteTableDuplicateRows() Dim objTable As Table...,即第一列中内容相同但大小写不同不会被删除。...下面的代码操作时不区分大小写: Sub DeleteTableDuplicateRows1() Dim objTable As Table Dim objRow As Range Dim objNextRow...VBA代码在Word表格的单元格中移动的方法。...那么,对于没有排序过的表格,如何使用VBA删除重复行呢?
文章背景:在采用VBA抓取数据时,有时需要判断指定数值是否在一维数组中已存在;如果存在,则希望能够获取该数值在数组内的位置。...在实践过程中发现,VBA的filter函数无法完全匹配指定数值;而借助Excel的match函数,可以实现完全匹配。接下来分别对Filter函数和Match函数进行介绍。...若include为True,Filter则会传回包含match作为子字串的阵列子集。若include为False,Filter则会传回不包含match作为子字串的阵列子集。...指出要使用的字串比较种类的数值。 compare引数可具有以下的值: vbBinaryCompare选项,区分大小写;vbTextCompare选项,不区分大小写。...而在实际案例中,可能希望只获得完全匹配的元素。 WorksheetFunction.Match 方法 傳回項目在陣列中的相對位置,其符合指定順序中的指定值。
我的天台式微笑还没上扬嘴角,基础不牢,地动山摇。 是的,所有语言的数据类型就那么几种,而字符串就是其中重要的一种,也是基础中的基础,值得我们好好研究。 1.什么是VBA字符串?...因为有些语言兼容灵活性高,比如:python中的字符串用英文单引号、英文双引号括起来都行。用英文引号括起来的主要目的是为了对变量和字符串作出明确的区分,最大程度的降低程序出错概率。...(2)字符串区分大小写 我们前面说过VBA中的变量大小写不敏感,即:变量Aa = 1 和变量 aA = 10会被认为是同一个变量被赋不同的值。但是,大家要记得字符串是区分大小写的。...至于,字符串有没有其他诸如减乘除的运算操作,由于这块工作中基本不涉及,而且也没有想明白字符串的乘除会涉及哪些使用场景,所以没有查询相关资料进行研究。...VBA字符串有以下特点: (1)VBA字符串用英文双引号括起来 (2)字符串区分大小写 (3)纯数字和文本数字二者不等价 (4)特殊字符使用要额外注意 (5)字符串可以有多个,也可以一个都没有 好了,今天的分享就到这里了
这是我自己写的一个VBA处理的小程序,它极大地帮助我提高了数据处理的速度,现在我把它分享给你。个人觉得如果能够看看该程序,ExcelVBA使用的基本问题就不是比较大了。...现在我们来归纳下程序中使用到的ExcelVBA技能点。 程序的定义,VBA程序的定义以Sub开头,以End Sub结尾,方法名加括号,不区分大小写。...变量的定义,VBA中可以使用未定义的变量,但是推荐对其进行预先定义,定义的方法是Dim加变量名加As加变量类,比如在示例里面,将currentCell界定为Range。...循环的方法,一般而言,循环的方法主要有while,for两大类,在本例中使用的For Each能够更好地遍历区域内的每一个单元格,是一种比较简单省事的循环方法。...单元格的定位函数是非常重要的,一般来说,Cells和Offset是比较常用的,因为Excel中绝对位置发生不一致,因此Offset是一定相对定位的方法,意思即为向行和列分别一定多少。
标签:VBA,Split函数 使用VBA时,有可能需要根据分隔符将字符串拆分为不同的部分。此时,就可以使用VBA的Split函数。...如果不指定此参数,默认值为-1,返回所有子字符串。 4.参数Compare,可选,可以指定在评估子字符串时希望SPLIT函数执行的比较类型。...以下选项可用:0,执行二进制比较,意味着区分大小写;1,执行文本比较,意味着不区分大小写。...可以使用类似的代码在VBA中创建一个自定义函数,该函数将文本作为输入并返回单词数。...图6 示例5:获取文本中指定的字符串 使用VBA中的Split函数,可以指定要使用结果数组的哪个部分。 下面是一个自定义函数的代码,可以在其中指定一个数字,它将从数组中返回该元素。
大家好,上节介绍了VBA数组中的LBound和UBound等函数,本节介绍剩余的数组函数,Erase函数、Split函数和Join函数。...函数中的第三参数limit为返回的字符串数,通常是不指定的。下面通过示例简单介绍下如何使用: 如果将上面示例修改下。在Split函数中加入第三参数limit参数为2,即要求拆分成两个字符串。...第四参数主要的用处是在拆分分隔符时,如果用默认的vbBinaryCompare是区分字母大小写,而如果用vbTextCompare是不区分大小写的。...下面通过示例简单演示下: 示例中对于同样的"ABCabcABC"的字符串,都将“a”作为分隔符去拆分。第一个Split函数选择默认的vbBinaryCompare是区分字母大小写的。...而第二个Split函数选择vbTextCompare是不区分大小写的,那么"A"和"a"都是分隔符,所以分割的结果是第一个为空值“ ”,第二个为“BC”,第三个为“bc”,第四个为“BC。
学习Excel技术,关注微信公众号: excelperfect 本次的练习是:下面列出了一个完整的文件路径: D:\myData\category\完美Excel\VBA\Skills\test.xlsm...想要查找第5个反斜杠的位置,如何使用公式获取?...但是SEARCH函数和FIND函数的区别在于是否区分大小写。SEARCH函数不区分大小写,而FIND函数区分大小写。...这个公式很简洁,但要确保查找的字符串中没有CHAR(5)代表的字符。...公式中的: MID($A1,ROW(INDIRECT("1:"&1024)),1))="\" 将单元格A1中的字符串拆成由单个字符组成的数组,然后将其每个元素与“\”比较,得到一个由TRUE/FALSE
最后发现,win32com.client可以直接调用VBA的库,这可就强大了,VBA是包含record macro功能的,手动操作excel直接record,你就可以找到对应的函数,然后就可以调用,一下子很多的功能都实现了...这里只介绍一部分功能实现,也是主要的部分,其余的部分sheet页操作是类似的,这里会介绍一部分模块使用的方法。...第一个表格,主要需要从内部共享的文件夹中,去下载需要的Cases,都是文档类型的文件,需要将它们写入到表一中的AllCases列中,这里比较简单,我们只需要用open和readlines(),用遍历的方式将其写入到...,VBA中Delete或者很多函数是不加括号调用的,我们在python中,需要添加括号才可以用。...但使用过程中,也要注意一些点: 前边说到的,要对函数加括号 python虽然并不是特别在意大小写,但是使用win32com.client一定要注意大小写,很多函数如果不区分大小写,是无法调用的,比如打开
(一)正则表达式有什么方法与属性 在VBA中,正则表达式可以使用VBScript Regular Expressions库来实现。...3.IgnoreCase属性:一个布尔值,如果为True,则搜索匹配时不区分大小写。4.MultiLine属性:一个布尔值,如果为True,则模式可以匹配多行文本。...5.Replace方法:用于替换匹配到的字符串。6.Execute方法:用于在字符串中查找匹配的模式。7.Test方法:用于测试字符串是否匹配模式。...regEx.Pattern = "\d+" '匹配一个或多个数字 regEx.Global = True '全局匹配 regEx.IgnoreCase = True '不区分大小写...'全局匹配 regEx.IgnoreCase = True '不区分大小写
前面实现的字符处理,大小写转换是使用了VBA内置函数实现的,如果不使用VBA的UCase和LCase函数,我们如何完成大小写转换?...字母,在计算机内存的存储中,只是一些"01"的东西,在文件操作——编码中说到过。...所以,同一个字母,大小写的编码相差的数字是固定的,就是相差32,那么通过改变编码的方式实现字母大小写转换就容易了: Sub MyUcase() Dim str As String..." End If End Sub 字符串的比较,其实也就是根据编码进行判断数字大小来确定的,因为在VBA里,使用的是Unicode编码,2个Byte表示一个字符,中文字符一定会大于英文字符,因为英文字符数字范围是...如果对中文字符使用Asc函数的话,会出现什么: Sub TestAsc() Dim str As String str = "中" Dim b() As Byte
实现大小写不敏感的比较函数对象 二、代码示例 - 二元谓词使用场景 1、普通的 set 集合查找元素 - 大小写匹配查找成功 2、普通的 set 集合查找元素 - 大小写不匹配查找失败 3、设置二元谓词规则的...set 集合查找元素 - 大小写不不敏感集合 一、二元谓词使用场景 - 大小写不敏感 set 集合 1、需求分析 本篇博客中 , 实现一个 set 集合 , 存放 英文字母 组成的字符串 , 且 大小写不敏感...Press any key to continue . . . 4、基于 tolower 实现大小写不敏感的比较函数对象 该 set 集合 的 比较函数 的 函数对象 , 是一个二元谓词 , 重写的 函数调用操作符...后 , 使用该 小写字母 字符串 与 另外一个参数 转成的 小写字母 字符串 进行对比 , 这样就实现了 大小写不敏感的 set 集合 ; 代码示例如下 : #include ...set 集合查找元素 - 大小写不匹配查找失败 创建普通的 set 集合 , 并插入三个元素 ; // 创建一个 set 集合容器 set mySet; // 向容器中插入元素
1、简单实现 前面我们实现了首字母大写、转换大写、转换小写3个功能,如果再实现一个大小写互换,有了前面的基础,实现起来应该没什么大问题: Function FUpperLowerSwap(str As...功能是替换str中的字符。 实现了FUpperLowerSwap函数,我们只要调用这个函数就可以实现字符串中的字母大小写互换了。...这里我们介绍一种比较常用的编程思路,使用数组来减少If的使用。...我们这里是希望能够实现字母的大小写转换,所以需要记录的就是字符要进行转换的时候,需要去做什么。...根据前面提到过的大小写字母相差编码固定的知识,我们使用数组记录的就是这个需要增加的数字(减少的时候就是负数)。
如果为TRUE或省略(默认),则执行区分大小写的匹配;如果为FALSE,则不区分大小写。...2.默认情况下,该函数区分大小写。要忽略文本大小写,将参数match_case设置为FALSE。因为VBA Regexp的限制,不支持不区分大小写的模式。...要匹配不以特定文本结尾的字符串,在搜索模式中包含结尾字符串锚定:^((?!lemons).)*。 用于不区分大小写匹配的正则表达式 在经典正则表达式中,有一种特殊的不区分大小写的匹配模式(?...i),VBA RegExp不支持这种模式。为了克服这个限制,我们的自定义函数接受第三个可选参数match_case。要进行不区分大小写的匹配,只需将其设置为FALSE。...[a-z]{2,24}\b 但要使公式不区分大小写: =RegExpMatch(A5,A2,FALSE) 带匹配正则表达式的Excel IF公式 由于内置函数和自定义函数配合得很好,因此没有什么可以阻止在单个公式中同时使用它们
标签:Word VBA 在某些情况下,可能想知道在文档中每个字母有多少个,即字母a-Z中每个有多少,或者可能想找出特定文本中最常用的字母。...本文包括两个VBA宏,计算Word文档中每个字母或其他字符的数量。 程序1:在对话框中显示结果,其中按指定的顺序显示每个字符的计数。...'按你的需要编辑这个字符串 - 例如,添加要统计的数字. '不区分大小写....'按你的需要编辑这个字符串 - 例如,添加要统计的数字. '不区分大小写....使用VBA统计字符总数 代码为: ActiveDocument.Characters.Count 注:本文学习整理自thedoctools.com,供学习参考。
凹凸们,大家好 我们都知道Pandas里支持正则替换比较舒服,但是Excel却没有一个可以支持正则的函数!!!...不过我发现借助VBA就可以在Excel实现正则的抽取、搜索和替换,简直如虎添翼有没有~今天我要给大家分享一个我自己用VBA编写的神器,让你的Excel能够直接支持正则。...用VBA实现上面三个函数并让其自动加载 好了,演示完效果,我们现在来看看如何开发这三个函数吧。...) With oRegExp .Global = True 'True表示匹配所有, False表示仅匹配第一个符合项 .IgnoreCase = True '不区分大小写...) With oRegExp .Global = True 'True表示匹配所有, False表示仅匹配第一个符合项 .IgnoreCase = True '不区分大小写
使用Excel如果经常处理英文资料的话,应该会经常碰到需要转换大小写的情况,Excel提供了UPPER、LOWER等转换函数。...使用函数需要在新的单元格进行转换,每次都要输入公式,转换完成再复制回去,有点麻烦。而且如果要实现首字母大小写转换的话,还必须嵌套Left、Mid等函数,更加不方便。...如果经常有这种情况,那么做Ribbon按钮实现大小写转换就非常方便了,实现效果: ?...MRange.ToUpper End Sub Sub rbbtnToLower(control As IRibbonControl) Call MRange.ToLower End Sub 函数实现比较简单...,主要就是调用VBA的字符转换函数: Sub FirstToUpper() Dim rng As Range, selectRng As Range Dim tmp As String
四、工作簿对象save方法 保存excel工作簿,在VBA中主要是通过workbook工作簿对象的save方法和saveas方法 代码thisworkbook.save 表示保存代码所在的工作簿。...4、参数Password指定保存的工作簿的密码,区分大小写。 5、参数WriteResPassword指定工作簿的写保护密码。如果使用密码保存工作簿并且在打开时未提供密码,则以只读方式打开该工作簿。...Workbooks("vba.xlsm").Close 是关闭了单个工作簿vba.xlsm,而workbooks.close则是关闭所有打开的工作簿。...如果不希望出现弹窗,可以通过设置close方法的参数来修改。 下面看下close方法的完整格式。...Workbooks("vba.xlsm").Close savechanges:=True通过简单的代码,可以实现直接保存之后关闭excel文件。
在VB.NET中,你可以使用多种方法对一维数组进行排序。 以下是一些常见的方法: 1.使用Array类的Sort方法 Array.Sort 方法是最简单且直接的方式。...T)的Sort方法 如果你希望保持原始数组的顺序,或者想要进行更复杂的排序(例如自定义比较器),那么可以将数组转换为 List(Of T),然后使用 List(Of T) 的 Sort 方法。...例如,使用 Array.Sort 的重载版本,或者为 List(Of T).Sort 提供一个比较器。...不区分大小写 根据你的具体需求(例如是否需要保留原始数组、是否需要自定义排序规则等),你可以选择最适合的方法。...VB.NET和C#通用知识点学习笔记 序 列表 1 在VBA或VB.net中Split()与Replace()的用法 2 在VB.net中,List(of string())与List(of List(
领取专属 10元无门槛券
手把手带您无忧上云