Σε περίπτωση που θέλετε μια διαδικασία που θα σας βοηθήσει στην ανάκτηση της διεύθυνσης email από τη συμβολοσειρά, τότε αυτό το άρθρο είναι για εσάς. Σε αυτό το άρθρο, θα δημιουργήσουμε UDF για να τραβήξουμε το αναγνωριστικό email από το κείμενο.
Ερώτηση): Τα δεδομένα που έχω περιέχουν πάρα πολλές πληροφορίες σε μορφή κειμένου. Θέλω έναν κωδικό VBA που θα με βοηθήσει να εξάγω όσα αναγνωριστικά email από το κείμενο για να ελαχιστοποιήσω τις μη αυτόματες προσπάθειές μου.
Πρέπει να ακολουθήσουμε τα παρακάτω βήματα:
- Κάντε κλικ στην καρτέλα Προγραμματιστής
- Από την ομάδα κωδικών, επιλέξτε Visual Basic
Εισαγάγετε τον ακόλουθο κώδικα στην τυπική μονάδα:
Λειτουργία ExtractEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As LongDim TempStr As String
Const CharList As String = "[A-Za-z0-9 ._-]"
AtTheRateSignSymbol = InStr (s, "@")
Αν AtTheRateSignSymbol = 0 Τότε
ExtractEmailFromText = ""
Αλλού
TempStr = ""
Για i = AtTheRateSignSymbol - 1 έως 1 Βήμα -1
If Mid (s, i, 1) Like CharList Τότε
TempStr = Mid (s, i, 1) & TempStr
Αλλού
Έξοδος για
Τέλος εαν
Επόμενο i
Εάν TempStr = "" Τότε Έξοδος από τη λειτουργία
TempStr = TempStr & "@"
Για i = AtTheRateSignSymbol + 1 προς Len (s)
If Mid (s, i, 1) Like CharList Τότε
TempStr = TempStr & Mid (s, i, 1)
Αλλού
Έξοδος για
Τέλος εαν
Επόμενο i
Τέλος εαν
Αν Δεξιά (TempStr, 1) = "." Στη συνέχεια TempStr = _
Αριστερά (TempStr, Len (TempStr) - 1)
ExtractEmailFromText = TempStr
Λειτουργία Τέλους
- Στο κελί Β2, ο τύπος είναι
- = ExtractEmailFromText (A2)
Θα πάρουμε το αποτέλεσμα. Ανατρέξτε στο παρακάτω στιγμιότυπο:
Ο παραπάνω κώδικας θα εξαγάγει την πρώτη διεύθυνση email σε περίπτωση που υπάρχουν περισσότερα από 1 αναγνωριστικά email σε ένα κελί.
Με αυτόν τον τρόπο, μπορούμε να ανακτήσουμε το μήνυμα ηλεκτρονικού ταχυδρομείου από κείμενο.
Λήψη - Εξαγωγή διεύθυνσης ηλεκτρονικού ταχυδρομείου από κείμενο - xlsm