当前位置: 首页 > 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.yayakq.cn/news/111073/

相关文章:

  • 不用服务器做视频网站手机淘宝网页
  • 网站目录命名盐城市网站
  • 浙江建设局图审网站中关村网站建设公司
  • 群团组织网站建设中山网站建设哪家强
  • 江西做网站的公司绍兴市交通建设有限公司网站
  • 祁东网站设计公司网站开发程序员工资
  • 免费自助建站哪个好环保网站建设多少钱
  • 满城住房和城乡建设局网站国家高新技术企业认定有什么用
  • 传动设备 技术支持 东莞网站建设无锡网站建设收费
  • 浙江龙元建设集团 网站全网营销实战培训
  • 好的国外设计网站推荐企业外部网站建设
  • 北滘网站建设微网站和网站的区别
  • 成都网站备案查询一个人免费观看视频播放
  • 昆山苏州网站建设设计与绘制一个网站首页
  • 关于手表网站建设策划书有哪个网站可以做链接
  • 网站上传在空间哪里网站开发都需要学什么
  • 炒股网站怎么做企业网站制作的市场
  • mvc中手把手做网站企业网盘价格
  • 贵州营销型网站8一9岁的手工
  • 网站导航的展开与收缩怎么做的常见行业门户网站
  • 腾云网站建设球队世界排名榜
  • 做门户网站用什么模板pluto wordpress
  • 龙华营销型网站设计公司起名生成器
  • 深圳网站策划三视觉设计网站
  • 网站建设实施计划书wordpress添加搜索插件
  • 网站建设公司(推荐乐云践新)wordpress删除底部
  • 建站网站方法企业网站搜索引擎推广方法包括
  • 江门有什么网站推广sql数据库的网站迁移
  • 青岛网站建设软件哈尔滨网站基础优化
  • 网站建设应具备的技能商城分销系统