Extras adrese de email dintr-o celulă care conține un alt text

Soluție: Problema poate fi rezolvată prin utilizarea unui megaformuly funcție macro sau personalizate.

Macro-ul se bazează pe funcția Split, VBA. Să presupunem că celula conține text Scrierea [email protected] pentru a rezerva un seminar. Dacă treci textul la funcția Split, și precizează că textul ar trebui să fie împărțită în elemente, separate printr-un spațiu - x = Split, (cell.Value, „“) - VBA returnează o matrice, în cazul în care fiecare cuvânt este un element de matrice. Fig. 1 prezintă o serie de x Split, după funcția utilizare.

Extras adrese de email dintr-o celulă care conține un alt text

Fig. 1. Funcția Split, returnează o matrice, în cazul în care fiecare cuvânt este un element de matrice

Descărcați o notă în Word sau PDF. exemple în Excel (cu codul VBA)

Sub getEmailMacro ()
x Dim Ca variantă
Dim i ca integer
Notă Dim ca șir de

Pentru fiecare celulă în selecția
x = Scindează (cell.Value, "")
Pentru i = 0 Pentru UBound (x)
Dacă x (i) La fel ca "*@*.*" Atunci
cell.Offset (0, 1) = x (i)
Ieșire Pentru
End If
Următoarea I
Următoarea celulă
end Sub

Cod funcție definită de utilizator:

Funcția publică getEmail (nota ca String) ca șir
x Dim Ca variantă
Dim i ca integer
x = Split, (notă, "")
Pentru i = 0 Pentru UBound (x)
Dacă x (i) La fel ca "*@*.*" Atunci
getEmail = x (i)
Ieșire Funcție
End If
Următoarea I
end Function

În ciuda faptului că următoarea formulă va lua ceva timp pentru a scrie, este extrem de inteligent și surprinzător de ușor de utilizat: = TRIM (MID (SUBSTITUT ( „“ A1; "" REPEAT ( "", 20)); SEARCH ( "@"; SUBSTITUT ( "" A1; "" REPEAT ( "", 20))) - 20; 40)). în primul rând

Formula a fost utilizată inițial funcția SUBSTITUT la textul original, înlocuiți fiecare spațiu în cele douăzeci de spații consecutive. Acest lucru vă permite să se separe fiecare cuvânt în textul unui număr mare de lacune.

Textul original: acum este momentul pentru [email protected] pentru a cumpăra o carte

Text nou: acum este momentul pentru [email protected] pentru a cumpăra o carte

În cele din urmă, funcția TRIM înlocuiește spațiile multiple într-un rând, și elimină spațiile de început și de final, astfel încât în ​​cele din urmă veți obține ceea ce ai dorit: [email protected] (figura 4).