在 Excel 中,使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出出现右侧的代码编辑窗口
在代码窗口中输入以下代码1:
Private Sub RegExp_Replace()
Dim RegExp As Object
Dim SearchRange As Range, Cell As Range
'此处定义正则表达式
Set RegExp = CreateObject("vbscript.regexp")
RegExp.Pattern = "(;$)"
'此处指定查找范围
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
然后重新输入以下代码2:
Private Sub RegExp_Replace()
Dim RegExp As Object
Dim SearchRange As Range, Cell As Range
'此处定义正则表达式
Set RegExp = CreateObject("vbscript.regexp")
RegExp.Pattern = "(,$)"
'此处指定查找范围
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
然后选中邮箱地址列,替换;为,即可
附(从https://blog.youkuaiyun.com/forest_fire/article/details/79019435转载):
如果 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系统其他应用软件的宏禁用解决方法与此类似。
通过Excel的VBA功能,可以编写代码实现匹配并替换字符串尾部特定字符。例如,先用代码1去除邮箱地址尾部的分号,再用代码2去除尾部的逗号,之后进行替换操作,将分号替换为逗号。启用宏的操作步骤包括在Excel的安全性设置中调整宏级别,或者删除模板和修改注册表。

2300

被折叠的 条评论
为什么被折叠?



