UDF - E-posta Adresini Metinden Çıkarma

Anonim

Diziden e-posta adresini almanıza yardımcı olacak bir işlem istiyorsanız, bu makale tam size göre. Bu yazıda, e-posta kimliğini metinden çekmek için UDF oluşturacağız.

Soru): Elimdeki veriler metin biçiminde çok fazla bilgi içeriyor. Manuel çabalarımı en aza indirmek için metinden olabildiğince çok e-posta kimliği çıkarmama yardımcı olacak bir VBA kodu istiyorum.

Aşağıdaki adımları izlememiz gerekiyor:

  • Geliştirici sekmesine tıklayın
  • Kod grubundan Visual Basic'i seçin

Standart modüle aşağıdaki kodu girin:

İşlev ExtractEmailFromText(s As String) As String Dim AtTheRateSignSymbol As Long Dim i As Long

Dize olarak Dim TempStr

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

AtTheRateSignSymbol = InStr(s, "@")

AtTheRateSignSymbol = 0 ise

ExtractEmailFromText = ""

Başka

TempStr = ""

i için = AtTheRateSignSymbol - 1'e 1 Adım -1

Eğer Orta(lar, i, 1) ise CharList'i Beğen O zaman

TempStr = Orta(lar, i, 1) ve TempStr

Başka

Çıkış İçin

Bitir

sonraki ben

TempStr = "" ise İşlevden Çık

TempStr = TempStr & "@"

i için = AtTheRateSignSymbol + 1 To Len(ler)

Eğer Orta(lar, i, 1) ise CharList'i Beğen O zaman

TempStr = TempStr ve Orta(lar, i, 1)

Başka

Çıkış İçin

Bitir

sonraki ben

Bitir

Eğer Sağ(TempStr, 1) = "." Sonra TempStr = _

Sol(TempStr, Len(TempStr) - 1)

ExtractEmailFromText = TempStr

Bitiş İşlevi

  • B2 hücresinde formül şu şekildedir:
  • =Metinden E-postayı Çıkar(A2)

sonucu alacağız. Aşağıdaki anlık görüntüye bakın:

Bir hücrede 1'den fazla e-posta kimliği olması durumunda yukarıdaki kod ilk e-posta adresini çıkaracaktır.

Bu şekilde, e-postayı metinden alabiliriz.

İndir - E-posta Adresini Metinden Çıkarma - xlsm