ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的测验 > Excel VBA > VBA练习题03 正则表达式

VBA练习题03 正则表达式

作者:绿色风 分类: 时间:2022-08-18 浏览:197
楼主
水星钓鱼
问题来源于
  1. http://www.exceltip.net/forum.php?mod=viewthread&tid=52449


原帖用循环解决了,现在要求用正则表达式来完成。


为了测试方便,如图所示,假设数据在A1单元格,且最后一个项目内容后面还有一个换行符,将每个项目的内容合并到与项目同一行,不同的项目分行显示,结果放在B1单元格。
要求:
1.      只能用正则表达式来完成
2.      框架代码已经列出,除了框架代码以外的代码不能使用循环3.   第一个回答正确的加技能分2分,其余答案视情况加分。

 

框架代码如下:
  1. Sub RegExp()
  2.     Dim Test As String
  3.     Dim reg As Object
  4.     Set reg = CreateObject("VBScript.RegExp")
  5.     Test = Sheet1.Cells(1, 1)
  6.     With reg
  7.         '此处写您的代码
  8.     End With
  9. End Sub

附件如下:


正则表达式.rar


2楼
daveman
        .Global = True
        .Pattern = ":\n(?=[^:]*\n)"
        Range("e1").Value = .Replace(Range("a1").Value, ":")
3楼
bluexuemei
  1. Sub RegExp()
  2.     Dim Test As String
  3.     Dim reg As Object
  4.     Set reg = CreateObject("VBScript.RegExp")
  5.     Test = Sheet1.Cells(1, 1)
  6.     With reg
  7.         .Pattern = "(:)\n([^:]+\n)"
  8.         .Global = True
  9.         [b1] = .Replace(Test, "$1$2")
  10.     End With
  11. End Sub

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap