在Excel工作簿中查找电子邮件地址

时间:2017-03-29 06:49:08

标签: vba excel-vba excel

我有一张excel表格,其中包含完整列中的电子邮件(列的顺序不准确且不断变化)。

我使用了看起来像这样的find函数。

Sub emialy()

Cells.Find ("@",,xlValues,xlPart,xlByRows,,,,) ActiveCell.Copy 

End Sub

但我收到了错误......

然后,如果程序找到电子邮件列表开始的位置,我想复制第一封电子邮件并打开电子邮件客户端(outlook),请创建一封新电子邮件并将完全复制的电子邮件粘贴到“收件人:”行。< / p>

1 个答案:

答案 0 :(得分:1)

使用Find函数的推荐方法是将Range类型变量设置为结果。通过这种方式,您可以捕获方案Find无法在@的工作表单元格中找到If Not EmailRng Is Nothing Then

<强>代码

Sub emialy()

Dim EmailRng As Range

Set EmailRng = Cells.Find(What:="@", LookIn:=xlValues, Lookat:=xlPart, SearchOrder:=xlByRows)    
If Not EmailRng Is Nothing Then ' succesful find
    EmailRng.Copy
Else
    MsgBox "Could not find the @ symbol"
End If

End Sub