Excel中使用正则表达式
- 格式:pdf
- 大小:248.96 KB
- 文档页数:2
excel vba 正则表达式替换引用Excel VBA正则表达式替换引用正则表达式是一种用来匹配、查找和替换文本的强大工具。
在Excel VBA中,我们可以使用正则表达式来对单元格引用进行替换操作。
本文将以中括号为主题,详细介绍如何使用Excel VBA正则表达式替换引用。
第一步:了解正则表达式在开始之前,我们需要先了解正则表达式的基本语法和常用字符。
正则表达式是由普通字符(如字母、数字等)和特殊字符(如"."、"*"等)组成的,用来描述文本模式。
以下是一些常用的正则表达式字符:- ".":匹配任意单个字符。
- "*":匹配前面的字符零次或多次。
- "+":匹配前面的字符一次或多次。
- "?":匹配前面的字符零次或一次。
- "^":匹配文本的开头。
- "":匹配文本的结尾。
- "[]":定义一个字符集,匹配其中的任意一个字符。
- "-":用在字符集中表示一个范围。
- "\d":匹配一个数字字符。
- "\w":匹配一个单词字符(字母、数字或下划线)。
以上只是正则表达式中的一小部分常用字符,更多的字符和语法可以在正则表达式的相关资料中找到。
第二步:导入"Microsoft VBScript Regular Expressions 5.5"引用在Excel VBA中,我们需要先导入"Microsoft VBScript Regular Expressions 5.5"引用才能使用正则表达式。
打开Excel,点击"开发工具"选项卡,找到"引用",勾选上"Microsoft VBScript Regular Expressions 5.5",然后点击"确定"按钮。
在Excel中,匹配正则表达式的功能通常需要使用一些特定的函数和技巧。
Excel 本身并没有直接支持正则表达式的函数,但是可以通过一些函数的组合来实现模糊匹配和文本提取等功能。
以下是一种可能的方法,使用了一些常见的Excel函数:
使用SEARCH函数和通配符
1.SEARCH函数:该函数可以在文本中查找一个字符串,并返回其第一个字
符的位置。
这里的A1是你要搜索的单元格,"正则表达式"是你要匹配的模式。
2.结合通配符:你可以结合通配符(如*和?)来实现更灵活的匹配。
这里的.*表示任意字符(包括零个字符)的任意次数。
这样就可以在A1中
匹配包含"关键词"的文本。
使用IF和ISNUMBER函数
1.IF函数:该函数可以根据条件返回不同的值。
这里,如果SEARCH函数返回一个数字(表示找到了匹配),则IF函数返回"匹配",否则返回"不匹配"。
使用FILTER函数
1.FILTER函数:该函数可以根据条件筛选数据。
这里,FILTER函数会返回在A列中包含"正则表达式"的所有单元格的值。
请注意,上述示例中的函数和公式是基于简单的匹配和条件判断,而不是真正的正则表达式引擎。
如果需要更复杂的正则表达式功能,可能需要使用Excel外部的工具或VBA(Visual Basic for Applications)编写自定义函数。
总的来说,Excel对于正则表达式的支持有限,因此在处理更复杂的模式匹配时,可能需要考虑其他工具或编程语言。
正文:一、介绍在日常工作和学习中,我们经常需要从句子或段落中提取数字信息,例如在处理数据、统计资料或制作报告时。
而使用Excel的正则表达式是一种比较高效的方法。
在本文中,我将结合实际案例,详细介绍如何使用Excel正则表达式来提取句子中的数字,以及一些注意事项和技巧。
二、基本概念在开始介绍具体操作之前,我们首先需要了解一些关于正则表达式的基本概念。
正则表达式是一种用来描述、匹配字符串的方法,它可以用来匹配特定模式的文本。
在Excel中,我们可以借助正则表达式来进行复杂的文本搜索和替换操作,从而提取我们需要的信息。
三、提取句子中的数字下面我们来看一个具体的例子,假设我们有一段文本:“在2021年度报告中,公司实现营业收入4567万元,同比增长15%。
”我们需要从这段文本中提取出“4567”和“15%”这两个数字信息。
在Excel中,我们可以使用“=REGEX.EXTRACT()”函数来对文本进行正则表达式匹配。
具体操作步骤如下:1. 在一个空白单元格中输入“=REGEX.EXTRACT()”函数。
2. 然后在括号内输入需要匹配的文本范围,即我们的目标文本。
3. 接着在逗号后面输入正则表达式,以识别数字的模式。
在这个例子中,我们可以使用“\d+”来匹配一个或多个数字。
4. 最后按下回车键,即可在这个单元格中得到提取出的数字信息。
四、注意事项和技巧在使用Excel正则表达式提取句子中的数字时,有一些注意事项和技巧需要我们注意:1. 正则表达式的模式需要根据具体情况进行调整,例如如果需要匹配小数或百分比,就需要使用不同的正则表达式模式。
2. 可以借助通配符和定界符来提高匹配的精度,比如在本例中可以使用“营业收入(\d+)"来只匹配包含“营业收入”的数字。
3. 可以结合其他Excel函数进行进一步的处理,比如将提取出的文本转换为数值格式或进行其他运算。
五、总结与展望通过本文的介绍,相信大家对于如何使用Excel正则表达式来提取句子中的数字有了一定的了解。
excel函数公式正则表达式摘要:1.引言:介绍Excel 函数和正则表达式的概念2.Excel 函数的应用场景3.正则表达式的概念和应用4.Excel 中的正则表达式函数5.结论:总结Excel 函数和正则表达式的结合应用正文:1.引言Excel 是Microsoft Office 套装中的一款电子表格软件,广泛应用于数据处理、分析和展示。
在Excel 中,有许多强大的函数可以帮助用户快速地完成各种计算和操作。
而正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,可以用于查找、替换和分析文本数据。
当Excel 函数和正则表达式结合时,可以实现更复杂的数据处理任务。
本文将介绍如何在Excel 中使用正则表达式函数。
2.Excel 函数的应用场景Excel 函数可以应用于各种场景,例如:计算平均值、求和、排序、筛选、条件格式等。
以下是一些常见的Excel 函数应用示例:- 求和:`=SUM(A1:A10)`- 平均值:`=AVERAGE(A1:A10)`- 排序:`=SORT(A1:A10)`- 筛选:`=FILTER(A1:A10, A1:A10>50)`- 条件格式:`=IF(A1>100, "超过100", "低于100")`3.正则表达式的概念和应用正则表达式是一种文本处理工具,可以用于查找、替换和分析文本数据。
正则表达式通常由一系列特殊字符和元字符组成,例如:`.`匹配任意字符,`*`匹配零个或多个前面的字符,`+`匹配一个或多个前面的字符,`{n}`匹配n 个前面的字符,`{n,}`匹配n 个或多个前面的字符,`{n,m}`匹配n 到m 个前面的字符等。
正则表达式在文本处理中的应用非常广泛,例如:查找特定文本、提取特定信息、验证输入的格式等。
以下是一些常见的正则表达式应用示例:- 查找特定文本:`preg_match("/pattern/", $string)`- 提取特定信息:`preg_match_all("/pattern/", $string, $matches)`- 验证输入的格式:`if (preg_match("/pattern/", $input)) { /* 验证通过*/ }`4.Excel 中的正则表达式函数在Excel 中,可以使用`REGEX`函数来实现正则表达式的功能。
excel正则匹配提取单词在Excel中使用正则表达式提取单词正则表达式是一种强大的文本处理工具,可以用来匹配、替换和提取文本。
在Excel中,正则表达式可以用来提取特定的内容,比如提取单词。
本文将一步一步回答如何在Excel中使用正则表达式提取单词。
第一步:打开Excel并导入数据首先,打开Excel并导入包含文本的数据。
可以通过直接将文本复制粘贴到Excel工作表中,或者通过从文件中导入数据来实现。
确保文本数据放在单独的一列中,这样接下来的提取过程会更加方便。
第二步:插入正则表达式工具栏接下来,我们需要插入一个Excel插件来方便使用正则表达式。
为此,请按照以下步骤操作:1. 在Excel中点击“文件”选项卡,然后选择“选项”。
2. 在弹出的选项窗口中,选择“自定义功能区”。
3. 在右侧的“主选项卡”列表中,勾选“开发者”选项卡,并点击“确定”。
现在你会在Excel的顶部菜单栏中看到一个新的选项卡,名为“开发者”。
第三步:在工具栏中使用正则表达式现在,我们已经插入了正则表达式工具栏,我们可以使用它来提取单词。
1. 选中包含文本的列。
2. 在“开发者”选项卡中,选择“查找和选择”组中的“定位”选项。
3. 在弹出的下拉菜单中,选择“使用正则表达式”。
接下来,你会看到一个新的面板打开在Excel的右侧,里面包含有关正则表达式的相关选项。
第四步:编写正则表达式现在,我们可以使用正则表达式来提取单词。
在上面提到的面板中,有一个文本框,标有“查找”。
在这个文本框中,你可以输入你的正则表达式。
要提取一个单词,我们可以使用以下正则表达式:\b\w+\b这个正则表达式的含义是:匹配一个或多个字母数字字符,并且必须是一个完整的单词。
第五步:执行正则表达式现在,我们已经编写了正则表达式,接下来我们可以执行它,以提取单词。
1. 点击正则表达式工具栏面板上的“查找下一个”按钮。
Excel将根据你的正则表达式开始搜索,并高亮显示匹配的单词。
xls正则表达式xls正则表达式是一种用于匹配和处理Excel表格中的数据的工具。
正则表达式是一种强大的文本匹配工具,可以用来查找和替换文本中的特定模式。
正则表达式可以在Excel中应用于多个方面,比如数据清洗、数据提取和数据验证等。
在本文中,将介绍一些常用的xls正则表达式,并且给出相应的示例。
我们来介绍一些常用的xls正则表达式元字符和符号:1. ".":匹配任意字符,除了换行符。
2. "*":匹配前面的字符零次或多次。
3. "+":匹配前面的字符一次或多次。
4. "?":匹配前面的字符零次或一次。
5. "^":匹配字符串的开始位置。
6. "$":匹配字符串的结束位置。
7. "[]":用来定义一个字符集,匹配方括号中的任意一个字符。
8. "[^]":用来定义一个否定字符集,匹配除了方括号中的任意一个字符以外的字符。
9. "\d":匹配一个数字字符。
10. "\D":匹配一个非数字字符。
11. "\w":匹配一个字母、数字或下划线字符。
12. "\W":匹配一个非字母、数字或下划线字符。
13. "\s":匹配一个空白字符。
14. "\S":匹配一个非空白字符。
接下来,我们将介绍一些常见的xls正则表达式应用场景和示例。
1. 数据清洗:正则表达式可以用来清洗Excel表格中的数据,去除无效字符或空白字符。
例如,我们可以使用正则表达式"\s+"来去除字符串中的多余空格。
2. 数据提取:正则表达式可以用来从Excel表格中提取特定的数据。
例如,我们可以使用正则表达式"\d+"来提取字符串中的数字。
excel单元格区域的正则表达式-回复Excel单元格区域的正则表达式是一种强大的文本匹配工具,它可以在Excel中快速找到符合特定模式的文本。
正则表达式由一系列字符和特殊字符组成,用于定义一种模式来匹配文本。
在Excel中,我们可以使用正则表达式来搜索、替换、提取和验证数据。
本文将详细介绍如何使用正则表达式在Excel中对单元格区域进行操作。
第一步:了解基本的正则表达式语法正则表达式包含许多特殊字符和元字符,用于定义一个模式。
以下是一些常用的正则表达式元字符:1. 普通字符:除了特殊字符和元字符外,其他字符都被视为普通字符。
例如,字母、数字和常见标点符号都是普通字符。
2. 元字符:特殊字符或字符组合,代表一类字符。
例如,点号(.)表示除了换行符以外的任意字符,星号(*)表示在前面的字符可以重复0次或任意次。
3. 字符组:用方括号([])括起来的字符组合,表示匹配方括号内的任意一个字符。
例如,[abc]表示匹配字符a、b或c。
4. 转义字符:用反斜杠(\)跟随的字符,用于将特殊字符转义为普通字符。
例如,\.表示匹配点号字符本身。
5. 限定符:用于指定前面的字符重复的次数。
例如,星号(*)表示重复0次或任意次,加号(+)表示重复至少一次,问号(?)表示重复0次或一次。
6. 锚字符:用于指定匹配的位置。
例如,脱字符(^)表示匹配行的开头,美元符号()表示匹配行的结尾。
了解了这些基本的正则表达式语法后,我们就可以开始在Excel中应用它们了。
第二步:在Excel中使用正则表达式查找和替换数据Excel提供了内置的“查找和替换”功能,我们可以通过设置正则表达式选项来对单元格区域进行更高级的匹配和替换操作。
下面是一些常用的正则表达式查找和替换技巧:1. 查找符合特定模式的文本:我们可以在“查找”文本框中输入正则表达式来查找符合特定模式的文本。
例如,我们可以使用表达式a.b来查找任意一个字符被放置在字母a和字母b之间的文本。
excel表格中提取数字的函数在Excel中,有几种方法可以提取单元格中的数字。
以下是几种常用的方法:1.使用MID和FIND函数提取数字假设我们要从一个文本字符串中提取数字,例如"abc123def456",我们可以使用MID和FIND函数:excel复制代码:=MID(A1,FIND("1",A1)+1,FIND("2",A1)-FIND("1",A1)-1)这个公式会返回"123"。
1.使用正则表达式在较新的Excel版本中,您可以使用正则表达式来提取数字。
首先,您需要确保已启用“使用正则表达式”的功能。
然后,您可以使用以下公式:excel复制代码:=FILTERXML("<t><s>" & REPLACE(A1, " ", "</s><s>") & "</s></t>", "//s")这个公式会将空格替换为逗号,并使用FILTERXML和正则表达式来提取数字。
1.使用“文本分列”功能您还可以使用“文本分列”功能来提取数字。
首先,选择包含文本的单元格,然后选择“数据”选项卡,然后选择“文本分列”。
在“分隔符”下选择“其他”,然后输入一个数字(例如“1”),然后点击“下一步”和“完成”。
这样,数字就会出现在新列中。
以上只是一些基本的示例。
实际应用中,您可能需要根据具体需求调整或组合这些方法。
Excel使⽤正则表达式提取数据⼤家都知道通配符的作⽤,例如进⾏字符串替换时,我们可使⽤*代替任意字符,使⽤?代替单个字符,这极⼤的提⾼了⼯作效率。
不过这似乎不是最强的,专业编程⼈员还有更⾼级的秘密武器--正则表达式。
然⽽,在Excel中使⽤正则表达式,⼀般只能在VBA中调⽤,要求⽐较⾼。
所以,本页中的函数才应运⽽⽣,不⽤写VBA,不⽤学专业的编程语⾔,就可以使⽤正则表达式使⾃⼰拥有超强的数据处理能⼒。
版本:Excel 2003/2017/2010/2013/2016公式:RegexString(Text,Rule,[Advance]),可使⽤正则表达式提取特定字符串。
参数说明,Text指待处理的字符串⽂本。
Rule指正在表达式,⽀持常⽤的正则表达式,为了简化操作,可使⽤诸如“数字”、“字母”、“⼩写字母”、“⼤写字母”、“汉字”等名词代替正则表达式。
Advance指正则表达式Rule的书写模式,默认是0,表⽰使⽤简单模式,如果设置成1表⽰⾼级模式,即Rule是C#正则表达式,⽐如匹配数字应书写成([\d]{0,})常⽤的正则表达式⼀、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 ⾄少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和⾮零开头的数字:^(0|[1-9][0-9]*)$6 ⾮零开头的最多带两位⼩数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位⼩数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8 正数、负数、和⼩数:^(\-|\+)?\d+(\.\d+)?$9 有两位⼩数的正实数:^[0-9]+(.[0-9]{2})?$10 有1~3位⼩数的正实数:^[0-9]+(.[0-9]{1,3})?$11 ⾮零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$12 ⾮零的负整数:^\-[1-9][]0-9'*$ 或 ^-[1-9]\d*$13 ⾮负整数:^\d+$ 或 ^[1-9]\d*|0$14 ⾮正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$15 ⾮负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$16 ⾮正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$17 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)| ([0-9]*[1-9][0-9]*))$18 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$19 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$⼆、校验字符的表达式1 汉字:^[\u4e00-\u9fa5]{0,}$2 英⽂和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$3 长度为3-20的所有字符:^.{3,20}$4 由26个英⽂字母组成的字符串:^[A-Za-z]+$5 由26个⼤写英⽂字母组成的字符串:^[A-Z]+$6 由26个⼩写英⽂字母组成的字符串:^[a-z]+$7 由数字和26个英⽂字母组成的字符串:^[A-Za-z0-9]+$8 由数字、26个英⽂字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$9 中⽂、英⽂、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$10 中⽂、英⽂、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$11 可以输⼊含有^%&',;=?$\'等字符:[^%&',;=?$\x22]+12 禁⽌输⼊含有~的字符:[^~\x22]+三、特殊需求表达式1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?3 InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$4 ⼿机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$5 电话号码('XXX-XXXXXXX'、'XXXX-XXXXXXXX'、'XXX-XXXXXXX'、'XXX-XXXXXXXX'、'XXXXXXX'和'XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$6 国内电话号码(0511-*******、021-********):\d{3}-\d{8}|\d{4}-\d{7}7 ⾝份证号(15位、18位数字):^\d{15}|\d{18}$8 短⾝份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}? $9 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_] {4,15}$10 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$11 强密码(必须包含⼤⼩写字母和数字的组合,不能使⽤特殊字符,长度在8-10之间):^(?=.*\d) (?=.*[a-z])(?=.*[A-Z]).{8,10}$提交© 2018 - (PC) Copyright. 鲁ICP备17048212号客服QQ: 1330108627,访问Excel ⽹络函数库贴吧提交技术问题。
标题:深入了解Excel单元格区域的正则表达式正文:【概述】作为一款功能强大的办公软件,Excel在数据处理和分析方面具有重要的作用。
在Excel中,我们经常需要对数据进行筛选、查找和替换。
而正则表达式作为一种强大的文本匹配工具,能够帮助我们更加高效地处理数据。
本文将深入探讨Excel单元格区域的正则表达式,希望能够为广大Excel用户带来帮助。
【1. 正则表达式简介】正则表达式是一种字符串匹配的工具,它使用一种特殊的语法规则,可以精确地描述字符串的特征。
在Excel中,我们可以利用正则表达式来进行文本的查找和替换操作,实现更加灵活和精确的数据处理。
【2. Excel中的正则表达式】在Excel中,我们可以通过使用正则表达式来筛选符合特定模式的数据,或者进行数据的替换和格式化。
通过在Excel的查找和替换功能中选择“使用通配符”选项,然后输入相应的正则表达式,就可以实现对数据的精确处理。
比如可以通过正则表达式来查找所有以数字开头的字符串,或者删除文本中的重复内容。
【3. Excel单元格区域的正则表达式应用】在Excel中,我们可以针对单元格区域应用正则表达式,实现对大量数据的批量处理。
通过在Excel的筛选功能中选择“使用自定义条件”,然后输入相应的正则表达式,就可以筛选出符合特定模式的数据。
这对于需要对大量数据进行精确提取的情况非常有用,可以极大地提高工作效率。
【4. 常见的Excel正则表达式示例】在Excel中,有一些常见的正则表达式示例,可以帮助我们更好地理解其应用。
比如常见的电流信箱位置区域匹配正则表达式、通联匹配正则表达式等。
通过学习这些常见的示例,我们可以更好地掌握正则表达式的应用技巧,从而更加灵活地处理Excel中的数据。
【5. 注意事项与技巧】在使用Excel单元格区域的正则表达式时,需要注意一些事项与技巧。
比如在编写正则表达式时要尽量简洁明了,避免出现过于复杂的规则;要注意不同版本Excel对正则表达式的支持程度不同,有些高级的正则表达式语法可能在较低版本的Excel中无法完全实现;还要注意正则表达式的性能问题,在处理大量数据时要注意优化正则表达式的性能。
Excel另类条件化格式
1 前言
我们知道,Excel的条件化格式可以根据单元个的内容来设置整个单元格的格式。
如图1中的C列,当单元格的内容为“结束”时,字体颜色为绿色,为“进行中”时,颜色为黄色。
但如果我们想把B列的部分特定文字(如日期2012-3-4)设置成不同的字体和颜色, Excel的条件化格式工具是不能实现的,需要另辟蹊径。
图1
2 实现过程
2.1 目标
实现B列单元格中日期字符串的字体设置成“Arial Black”字体,颜色为红色。
2.2 设计思路
Excel的VBA编程功能很强大,可以轻松实现上述目标。
程序的设计思路是:找到日期字符串,然后设置字体格式。
本例中利用了正则表达式来寻找日期字符串,通过Characters对象的Font属性来设置字符串的格式。
2.3 正则表达式
我们在处理文本时,经常会遇到一些满足某种规则的字符串。
比如,一个无符号的整数由一连串的数字构成,本例中的日期是满足“整数-整数-整数”规则的字符串。
正则表达式就是用来指定这种规则的。
如果某个字符串满足正则表达式指定的规则,则称该字符串为正则表达式的一个“匹配串”。
正则表达式中用\d 来匹配单个数字,用\d+来匹配连续的多个数字,这样本例中用"\d+-\d+-\d+"就可以匹配日期字符串。
Excel的VBA可以通过引用vbscript中的正则标定式对象"vbscript.regexp"来使用正则表达式。
2.4 Characters函数
语法:Characters(start, length)
参数:Start是指从第几个字符处开始选择,length是要返回的字符数。
返回:Characters对象。
用来控件文本中某一范围的字符串。
例如,通过Characters对象的Font属性可以设置字符串的字体格式。
2.5程序代码
把FormatClick程序和“更新”按钮的Click事件关联起来,只要点击“更新”按钮就可以更新日期的字体的名称和颜色了。
具体程序如下:
Sub FormatClick()
'声明正则表达式对象
Dim RegEx As Object
'引用正则标定式对象
Set RegEx = CreateObject("vbscript.regexp")
'设置正则标定式对象属性
With RegEx
'Global=True意味着在整个搜索字符串时模式是全部匹配,False则只匹配第一个
.Global = True
'设置正则标定式
.Pattern = "\d+-\d+-\d+"
End With
'计算最后的行号
RowNo = [B1024576].End(xlUp).Row
For i = 2 To RowNo
'寻找匹配串
Set Matches = RegEx.Execute(ActiveSheet.Cells(i, 2).Text)
'遍历匹配集合
For Each Match In Matches
'Match.FirstIndex是指匹配的起始位置
'Match.Length是指匹配的长度
With ActiveSheet.Cells(i, 2).Characters(Start:=Match.FirstIndex + 1, Length:=Match.Length).Font
'设置字符串字体的格式
.Name = "Arial Black"
.Color = RGB(255, 0, 0)
End With
Next
Next
'释放正则标定式对象
Set RegEx = Nothing
End Sub
2.6 实现效果
通过简短的几行代码就可以实现预定的目标,如图2。
本例只是抛砖引玉,通过VBA编程可以实现更复杂的另类条件化格式。
图2。