当前位置: 首页 > news >正文

政府门户网站 平安建设代运营电商公司排行榜

政府门户网站 平安建设,代运营电商公司排行榜,博物馆网站建设,池州城乡住房建设厅网站实例需求:工作表中的数据保存在A列~G列,现需要识别D列中包含超过两个星号的内容,并将第3个星号及其之后的字符设置为红色字体,如图所示。 示例代码如下。 Sub Demo1()Dim objRegExp As ObjectDim objMatch As ObjectDim strMatch…

实例需求:工作表中的数据保存在A列~G列,现需要识别D列中包含超过两个星号的内容,并将第3个星号及其之后的字符设置为红色字体,如图所示。

在这里插入图片描述

示例代码如下。

Sub Demo1()Dim objRegExp As ObjectDim objMatch As ObjectDim strMatch As StringDim iLoc As Integer, strTxt As StringarrData = [a1].CurrentRegionActiveSheet.Columns(4).Font.Color = vbNoneSet objRegExp = CreateObject("vbScript.Regexp")With objRegExp.Global = True.Pattern = "^\*[一-龟]+\*[一-龟]+(.*)$"For i = 2 To UBound(arrData)strTxt = arrData(i, 4)Set objMatch = .Execute(strTxt)If objMatch.Count > 0 ThenstrMatch = objMatch(0).submatches(0)If Len(strMatch) > 0 TheniLoc = VBA.InStrRev(strTxt, strMatch)Cells(i, 4).Characters(iLoc, Len(strTxt) - iLoc + 1).Font.Color = vbRedEnd IfEnd IfNext iEnd WithSet objRegExp = NothingSet objMatch = Nothing
End Sub

【代码解析】
第6行代码将A1单元格所在的数据区域加载到数组中。
第7行代码将D列单元格字体颜色设置为“自动”。
第8行代码创建正则对象。
第10行代码设置正则全局匹配。
第11行代码设置正则匹配规则。

正则表达式说明
^匹配开始位置
\*[一-龟]+匹配一个星号加多个中文字符
$匹配最后位置

第12~22行代码循环处理每行数据。
第13行代码读取D列单元格内容。
第14行代码执行正则匹配。
第15行代码判断是否匹配成功。
第16行代码读取匹配组内容。
第17行代码匹配组内容是否为空。
第18行代码在单元格内容中查找匹配组的字符位置。
注意此处必须使用InStrRev,而不能使用如下代码,如果单元格内容中有重复字符,下述方法定位的位置将出现错误,例如:*万事如意*身体健康*万事如意
iLoc = VBA.InStr(1, strTxt, strMatch)
第19行代码设置相应字符的字体颜色为红色。
第24~25行代码释放对象变量占用的系统资源。


不使用VBA字符查找,也可以可以完美实现这个问题。

Sub Demo2()Dim objRegExp As ObjectDim objMatch As ObjectDim strMatch As StringDim iLoc As Integer, strTxt As StringarrData = [a1].CurrentRegionActiveSheet.Columns(4).Font.Color = vbNoneSet objRegExp = CreateObject("vbScript.Regexp")With objRegExp.Global = True.Pattern = "\*[一-龟]+"For i = 2 To UBound(arrData)strTxt = arrData(i, 4)Set objMatch = objRegExp.Execute(strTxt)If objMatch.Count > 2 TheniLoc = objMatch(2).firstindex + 1Cells(i, 4).Characters(iLoc, Len(strTxt) - iLoc + 1).Font.Color = vbRedEnd IfNext iEnd WithSet objRegExp = NothingSet objMatch = Nothing
End Sub

【代码解析】
第15行代码判断匹配成功的数量是否超过两个。
第16行代码代码使用第3个匹配组(objMatch(2))的firstindex属性获取字符起始位置,由于正则对象中编号都是0开始的,所以需要加1才能应用于第17行代码中。

http://www.jinmujx.cn/news/108993.html

相关文章:

  • 自己做网站要买什么建网站的流程
  • wordpress源码解析上海百度推广优化排名
  • 网站建设外包行业seo推广思路
  • 做网站如何月入10万全网搜索引擎优化
  • 内网网站开发报价企业推广的渠道有哪些
  • 商城网站的建设山东东营网络seo
  • dede cms 网站模板新乡网站推广
  • 宾馆网站如何做会计分录班级优化大师官网下载
  • 网站链接地图是怎么做的潍坊做网站哪家好
  • 建网站推广福州seo推广
  • 校园互动网站建设sem优化技巧
  • 天津电子商务网站建设公司百度店铺怎么入驻
  • ps做网站边框制作网站要花多少钱
  • 中港海通网站是谁做的品牌服务推广
  • 国内真正永远免费建站上海搜索推广
  • 外国设计师素材网站关键字搜索
  • 织梦源码网seo基本概念
  • 网站改成html5搜索引擎优化怎么做的
  • 个人网站制作模板重庆森林讲了什么故事
  • 网站如何做收录排行淘宝seo排名优化的方法
  • java做3d游戏下载网站整站优化外包服务
  • 长沙河西做网站北京百度竞价托管公司
  • 淘宝券商城网站制作站长工具大全集
  • 有经验的合肥网站建设搜索引擎营销总结
  • 建设网站一定要电脑吗南宁关键词优化软件
  • wordpress academia百度seo还有前景吗
  • 网站建设报道稿seo排名快速
  • 东莞网站建设it s株洲网页设计
  • wordpress 知更鸟 网格seo的概念
  • 网站服务器地址查询方法外贸推广网站