Mẹo này miêu tả tính năng của VBA – tính năng này chấp nhận chuỗi văn bản như thông tin được nhập vào, rồi trả về địa chỉ email đầu tiên được tìm thấy trong văn bản. Hình ảnh dưới đây cho thấy tính năng này khi được sử dụng. Công thức trong ô B2 là:
=ExtractEmailAddress(A2)
Nếu địa chỉ email không được tìm thấy, thì tính năng này trả về một chuỗi rỗng. Đồng thời, xin hãy lưu ý rằng nó chỉ xuất địa chỉ email đầu tiên.
Tính năng này không tinh tế cho lắm. Nó chỉ bắt đầu với “ký tự @” mà nó tìm thấy, và kiểm tra các ký tự trước và sau ký tự @.
Function ExtractEmailAddress(s As String) As String
Dim AtSignLocation As Long
Dim i As Long
Dim TempStr As String
Const CharList As String = "[A-Za-z0-9._-]"
'Get location of the @
AtSignLocation = InStr(s, "@")
If AtSignLocation = 0 Then
ExtractEmailAddress = "" 'not found
Else
TempStr = ""
'Get 1st half of email address
For i = AtSignLocation - 1 To 1 Step -1
If Mid(s, i, 1) Like CharList Then
TempStr = Mid(s, i, 1) & TempStr
Else
Exit For
End If
Next i
If TempStr = "" Then Exit Function
'get 2nd half
TempStr = TempStr & "@"
For i = AtSignLocation + 1 To Len(s)
If Mid(s, i, 1) Like CharList Then
TempStr = TempStr & Mid(s, i, 1)
Else
Exit For
End If
Next i
End If
'Remove trailing period if it exists
If Right(TempStr, 1) = "." Then TempStr = _
Left(TempStr, Len(TempStr) - 1)
ExtractEmailAddress = TempStr
End Function
|
Ngoài ra, bạn có thể sử dụng công cụ online của Học Excel Online tại địa chỉ sau: https://blog.hocexcel.online/loc-email