Da det varierer, om det er en "ren" mail-adresse, og længden før og efter @ varierer, skal du nok i vba, men ellers til inspiration: = hvis( er.tal(find(celleA;"@")); X tegn foran @ & @ & Y tegn efter @ )
Tak for dit svar. Jeg har prøvet med formlen i ovenstående, men jeg får besked på, at der er et problem med denne formel. Desuden skal den ikke kun se på en enkelt celle, men på kolonne A, da mailadressen kan stå forskellige steder.
Gode forslag modtages gerne, da jeg skal hente en del data ind og dette kan lette arbejdet meget.
Jeg har faktisk behov for noget tilsvarende, for så vidt angår telefonnr. og internetadresser, skrevet som f.eks. "Telefon: 12345678" og "Webadresse: www.abc.dk"
Jeg bruger ofte en makro til at udtrække e-mail adresser fra tekst i kolonne A. Jeg har modificeret den lidt. Måske kan du bruge den. Den skriver e-mail adressen i kolonne B, ud for den celle adressen står i. Hvis den ikke finder nogen "@" skrives det i kolonne C
Sub ExtractEmailAdress() Dim AtSignLocation As Long Dim i As Long Dim TempStr As String Const CharList As String = "[A-Za-z0-9._-]" Lastrow = Cells(65356, 1).End(xlUp).Row x = Lastrow For y = 2 To x 'Get location of the @ AtSignLocation = InStr(Cells(y, 1), "@") If AtSignLocation = 0 Then Cells(y, 3) = "@ not found" 'not found Else TempStr = "" 'Get 1st half of email address For i = AtSignLocation - 1 To 1 Step -1 If Mid(Cells(y, 1), i, 1) Like CharList Then TempStr = Mid(Cells(y, 1), i, 1) & TempStr Else Exit For End If Next i If TempStr = "" Then Exit Sub 'get 2nd half TempStr = TempStr & "@" For i = AtSignLocation + 1 To Len(Cells(y, 1)) If Mid(Cells(y, 1), i, 1) Like CharList Then TempStr = TempStr & Mid(Cells(y, 1), i, 1) Else Exit For End If Next i End If 'Remove trailing period if it exists If Right(TempStr, 1) = "." Then TempStr = Left(TempStr, Len(TempStr) - 1) 'Check for dublicates If y > 4 Then For z = 4 To y - 1 If Cells(z, 2) = TempStr Then Cells(y, 3) = "Dublicate" TempStr = "" End If Cells(y, 2) = TempStr Next End If Next End Sub
Tusind tak for hjælpen, jeg har dog brug for at få adressen i celle B1 (da det så står i rækkefølge med navn, adresse, poster., by mv. , som skal kopieres til en anden destination - i den rækkefølge) og havde håbet at kunne klare det med en formel.
Ydermere har jeg behov for noget tilsvarende, for så vidt angår telefonnr. og internetadresser, skrevet som f.eks. "Telefon: 12345678" og "Webadresse: www.abc.dk".
Mange tak. Jeg har fået det til at virke for telefon og webadresse, men for e-mail står der "E-mail: xyz@xyz.dk" go der vil jeg gerne slippe for dette "e-mail: ".
Ydermere ville det være optimalt, hvis formlen kan finde oplysningerne i kolonne A og ikke en specifik celle i kolonne A. Kan det ikke lade sig gøre, så lever jeg med det.
Det gør vel ikke nogen forskel, at jeg er Mac-bruger, så længe det ikke er VBA?
Betyder det noget, at teksten i kolonne A er formateret som et link? Næ, jeg har lige prøvet at ændre det. Hmmm....jeg får stadig "E-mail..." med i starten af cellens indhold.
Underligt - jeg har lige prøvet hos mig selv, og her virker det??? Well, du har alligevel fundet en løsning, så det er nok mere af 'akademisk' interesse :-)
Dit indlæg #12 er nok kommet på, mens jeg var i gang med at skrive #13, så den havde jeg ikke set og der har vi fejlen. Jeg havde skrevet E-Mail og ikke E-mail.
Der er til gengæld et mellemrum før e-mailadressen (altså når "E-mail:" er fjernet) - kan det fjernes?
Det kan jeg godt se, men jeg har stadig et mellemrum inden e-mailadressen, det er lidt mystisk. Jeg har også prøvet med forskellige mailadresser, men det er det samme. Og der er kun et mellemrum, så det er heller ikke det der giver udfordringer.
Jeg har kopieret mellemrummet ind i formlen og nu er det væk i det færdige resultat.
Mange tak til alle for jeres indsats - det er værdsat.
VH CHC
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.