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