Extrahieren von E-Mail-Adressen in einer Excel-Tabelle

Eine Excel-E-Mail-Adressliste sollte nur die Adressen selbst enthalten. Wenn die Kalkulationstabelle ihre Daten jedoch von einem externen Formular erhalten hat, enthält die Spalte möglicherweise irrelevanten Text. In einer Zelle wird möglicherweise "Meine Adresse ist [email protected]" und in einer anderen möglicherweise "Kontakt mit [email protected]" angezeigt. Sie können die E-Mail-Adressen in eine neue Spalte extrahieren, damit Excel sie für Anwendungen wie Serienbriefe verwenden kann. Eine Methode hierfür ist das Schreiben eines Visual Basic-Skripts.

Schreibe die Funktion

1

Drücken Sie die Tasten "Alt" und "F11", um den Visual Basic-Editor von Excel zu öffnen.

2

Geben Sie den folgenden Code ein, um eine neue Funktion zu öffnen:

Funktion ExtractCellEmail (Zelle als Bereich) als Zeichenfolge

3.

Fügen Sie den folgenden Code hinzu, um den gesamten Text aus einer bestimmten Zelle zu extrahieren:

Dim Inhalt As String Inhalt = Zelle.Text

4

Fügen Sie den folgenden Code hinzu, um die Position des Symbols "@" im Text zu identifizieren:

AtPosition = InStr (1, Inhalt, "@")

5

Fügen Sie die folgenden zwei Zeilen hinzu, um die Anfangs- und Endpositionen der E-Mail-Adresse anhand der Position "@" zu identifizieren:

AddressStartingPosition = InStrRev (Inhalt, "", AtPosition) AddressEndingPosition = InStr (AtPosition, Inhalt, "")

6

Fügen Sie die folgende Zeile hinzu, um die E-Mail-Adresse anhand der Start- und Endpositionen zu extrahieren:

emailAddress = Trim (Mid (Inhalt, AddressStartingPosition, AddressEndingPosition - AddressStartingPosition))

7.

Fügen Sie die folgende Zeile hinzu, um die extrahierte Adresse in eine benachbarte Zelle zu drucken:

ActiveCell.Offset (0, 1) .Value = emailAddress

8

Geben Sie den folgenden Code ein, um die Funktion zu schließen:

Funktion beenden

Wenden Sie die Funktion auf einen Zellbereich an

1

Geben Sie den folgenden Code nach der Funktion ein, um ein neues Makro zu öffnen:

Sub mcrExtractColumnAddresses ()

2

Geben Sie den folgenden Code ein, um eine Schleife zu öffnen:

Tun

3.

Geben Sie den folgenden Code nach der Loop-Zeile ein, um die von Ihnen geschriebene Funktion aufzurufen:

ExtractEmails aufrufen (ActiveCell)

4

Geben Sie den folgenden Code nach der vorherigen Zeile ein, um die nächste Zelle in der Spalte auszuwählen:

ActiveCell.Offset (1, 0) .Auswählen

5

Fügen Sie die folgende Zeile hinzu, um die Schleife zu schließen:

Schleife bis IsEmpty (ActiveCell)

6

Fügen Sie den folgenden Code hinzu, um das Makro zu schließen:

End Sub

7.

Wechseln Sie in das Tabellenfenster.

8

Wählen Sie die erste Zelle aus, deren E-Mail-Adresse Sie extrahieren möchten.

9

Wechseln Sie wieder in das Visual Basic-Fenster. Platzieren Sie den Mauszeiger im Block mcrExtractColumnAddresses (), falls noch nicht vorhanden.

10

Drücken Sie die Taste "F5", um das Makro auszuführen und die E-Mail-Adressen zu extrahieren.

Warnung

  • Dieser Vorgang funktioniert, solange die einzigen "@" -Symbole die in E-Mail-Adressen sind. Sie können sicher davon ausgehen, dass dies für die meisten Zellen gilt. Sie sollten jedoch durch die Liste der extrahierten E-Mail-Adressen blättern, um Fehler manuell abzufangen.

Beliebte Beiträge