您的位置:首页 > 其它

Excel 中使用正则表达式进行查找与替换

2018-01-10 15:06 841 查看
在 Excel 中,使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出出现右侧的代码编辑窗口





在代码窗口中输入以下代码:

Private Sub RegExp_Replace()

Dim RegExp As Object
Dim SearchRange As Range, Cell As Range

'此处定义正则表达式
Set RegExp = CreateObject("vbscript.regexp")
RegExp.Pattern = "[0-9]{5}"

'此处指定查找范围
Set SearchRange = ActiveSheet.Range("A1:A99")

'遍历查找范围内的单元格
For Each Cell In SearchRange
Set Matches = RegExp.Execute(Cell.Value)
If Matches.Count >= 1 Then
Set Match = Matches(0)
Cell.Value = RegExp.Replace(Cell.Value, "")
End If
Next

End Sub


根据实际需要替换相应参数,点击 

 运行即可得到效果。

如果 excel 提示该工程中的宏被禁止在 -》工具-》宏-》安全性-》中,关闭重新打开,会提示是否启用宏。选启用宏:



如果您的EXECL2003宏被禁用,有以下几种解决办法
利用EXCEL的宏安全性问题

在菜单中选择:工具--选项--宏--安全性,设置成“低”或“中”,再打开文件,宏会提示使用“宏”,按“启动宏”打开文件。

如果安全性调成中,打开EXCEL文档时就会提示是否加载宏。 

如果安全性调成低,那么打开EXCEL文档时就直接加载宏。
删除EXCEL模板(当第一个方法无法实现时使用)

C:\Documents and Settings\你的用户名\Application Data\Microsoft\Excel\Excel11-模板删除.
修改注册表实现(当第一个方法无法实现时使用)

打开注册表编辑工具(regedit.exe),找到HKEY_LOCAL_MACHINE打开,找SOFTWARE打开,找Microsoft打开,找office打开,找11.0打开,找EXCEL打开,找security打开后看到它旁边的窗口有一项名称为LEVEL的,双击它,在跳出的编辑DWORD值里面看到数值数据(V):下面的空格啦,你就可以在里面修改数值啦。注意:填写1为低,填写2为中,填写3为高。

 

office系统其他应用软件的宏禁用解决方法与此类似。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: