UDF – 从文本中提取电子邮件地址
如果您想要一个过程来帮助您从字符串中检索电子邮件地址,那么本文适合您。在本文中,我们将创建UDF以从文本中提取电子邮件ID。
问题):我的数据包含太多文本格式的信息。我想要一个VBA代码来帮助我从文本中提取尽可能多的电子邮件ID,以最大程度地减少手动工作。
我们需要执行以下步骤:
单击“开发人员”选项卡。从“代码”组中,选择“ Visual Basic”
===
在标准模块中输入以下代码:
函数ExtractEmailFromText(s作为字符串)作为String Dim AtTheRateSignSymbol作为Long Dim i As Long
Dim TempStr作为字符串
Const CharList As String =“ [A-Za-z0-9 ._-]”
===
AtTheRateSignSymbol = InStr(s,“ @”)
如果AtTheRateSignSymbol = 0,则
ExtractEmailFromText =“”
其他
TempStr =“”
对于i = AtTheRateSignSymbol-1对1步骤-1
如果Mid(s,i,1)像CharList然后
TempStr = Mid(s,i,1)&TempStr
其他
退出
如果
结束
下一个我
如果TempStr =“”,则退出函数
TempStr = TempStr&“ @”
对于i = AtTheRateSignSymbol +1到镜头
如果Mid(s,i,1)像CharList然后
TempStr = TempStr和Mid(s,i,1)
其他
退出
如果
结束
下一个我
如果
结束
如果Right(TempStr,1)=“。然后TempStr = _
左(TempStr,Len(TempStr)-1)
ExtractEmailFromText = TempStr
结束函数
-
在单元格B2中,公式为
* = ExtractEmailFromText(A2)
我们将得到结果。请参阅下面的快照:
如果一个单元格中有多个电子邮件ID,以上代码将提取第一个电子邮件地址。
这样,我们可以从文本中检索电子邮件。