Si vous souhaitez qu’un processus vous aide à récupérer l’adresse e-mail à partir de la chaîne, cet article est pour vous. Dans cet article, nous allons créer UDF pour extraire l’ID de messagerie du texte.

Question): Les données que j’ai contiennent trop d’informations au format texte. Je veux un code VBA pour m’aider à extraire autant d’ID de messagerie du texte pour minimiser mes efforts manuels.

Nous devons suivre les étapes ci-dessous:

Cliquez sur l’onglet Développeur Dans le groupe Code, sélectionnez Visual Basic

img1

===

Saisissez le code suivant dans le module standard:

Fonction ExtractEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As Long

Dim TempStr As String

Const CharList As String = « [A-Za-z0-9 ._-] »

===

AtTheRateSignSymbol = InStr (s, « @ »)

Si AtTheRateSignSymbol = 0 Alors

ExtractEmailFromText = «  »

Sinon

TempStr = «  »

For i = AtTheRateSignSymbol – 1 To 1 Step -1

Si Mid (s, i, 1) Comme CharList Then

TempStr = Mid (s, i, 1) & TempStr

Sinon

Quitter pour

Fin si

Suivant i

Si TempStr = «  » Alors quitter la fonction

TempStr = TempStr & « @ »

For i = AtTheRateSignSymbol + 1 To Len (s)

Si Mid (s, i, 1) Comme CharList Then

TempStr = TempStr & Mid (s, i, 1)

Sinon

Quitter pour

Fin si

Suivant i

Fin si

Si juste (TempStr, 1) = « . » Alors TempStr = _

Gauche (TempStr, Len (TempStr) – 1)

ExtractEmailFromText = TempStr

Fonction de fin

img2

  • Dans la cellule B2, la formule est

* = ExtractEmailFromText (A2)

Nous obtiendrons le résultat. Reportez-vous à l’instantané ci-dessous:

img3

Le code ci-dessus extraira la première adresse e-mail au cas où il y aurait plus d’un identifiant e-mail dans une cellule.

De cette façon, nous pouvons récupérer le courrier électronique à partir du texte.

image 19