Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1052to1056
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Email Adressen aus mehreren Spalten in eine Spalte

Email Adressen aus mehreren Spalten in eine Spalte
03.03.2009 14:03:50
Martin
Hallo Leute!
Ich hab heut wiedermal eine Frage an euch.
Ich hab ein Excelblatt in dem in verschiedenen Spalten Email Adressen stehen. Ich möchte nun aber, dass alle Adressen in einer Spalte zb. "X" stehen jedoch in der Zeile bleiben in der sie gestanden sind.
z.B.: steht in der Zelle A1, A2, B3,C4 jeweils eine Adresse und sie sollen anschließend in X1 X2 X3 X4 stehen.
Es kann unter umständen sein dass sich in einer Zeile 2 Adressen befinden. In diesem Fall wäre es genial wenn die zweite email adresse in der Spalte "Z" stehen würde.
lässt sich sowas machen?
Danke im Vorraus für eure Hilfe
lg
Martin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Email Adressen aus mehreren Spalten in eine Spalte
03.03.2009 14:38:20
gemoppelt
Hallo Martin,
ich habe angenommen, das die Mailadressen als Link in den Zellen stehen.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub extractMailAddress()
  Dim rng As Range, rngRow As Range
  Dim lngC As Long, lngLast As Long
  Dim hLink As Hyperlink
  
  With ActiveSheet
    lngLast = .Rows(.UsedRange.Rows(1).Row + .UsedRange.Rows.Count - 1).Row
    
    Set rng = .Range(.Cells(1, 1), .Cells(lngLast, 25))
    
    For Each rngRow In rng.Rows
      lngC = 26
      For Each hLink In rngRow.Hyperlinks
        If InStr(1, hLink.Address, "@") > 0 Then
          .Hyperlinks.Add Anchor:=.Cells(rngRow.Row, lngC), _
            Address:=hLink.Address, _
            TextToDisplay:=hLink.TextToDisplay
          lngC = lngC + 1
        End If
      Next
    Next
    
  End With
  
  Set rng = Nothing
  Set rngRow = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Email Adressen aus mehreren Spalten in eine Sp
03.03.2009 14:49:18
Martin
Hallo Sepp!
Danke für dein Macro! Aber leider stehen die Adressen nicht als Links im Sheet. :( Sorry
Kann ich das irgendwie schnell machen?
Danke nochmal.
lg
Martin
nachgefragt
03.03.2009 14:54:58
Josef
Hallo Martin,
die Adressen stehen aber schon alleine in den Zelle, oder sind die in anderem Text eingeschlossen?
Gruß Sepp

AW: Email Adressen aus mehreren Spalten in eine Sp
03.03.2009 15:11:38
Josef
Hallo Martin,
wenn die Adressen allein in den Zellen stehen,dann geht's so.
Sub extractMailAddress()
  Dim rng As Range, rngRow As Range
  Dim lngC As Long, lngLast As Long
  Dim hLink As Hyperlink, strFirst As String
  
  With ActiveSheet
    lngLast = .Rows(.UsedRange.Rows(1).Row + .UsedRange.Rows.Count - 1).Row
    
    Set rng = .Range(.Cells(1, 1), .Cells(lngLast, 25))
    
    Set rngRow = rng.Find(What:="@", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns)
    If Not rng Is Nothing Then
      strFirst = rngRow.Address
      
      Do
        lngC = Application.Max(26, .Cells(rngRow.Row, Columns.Count).End(xlToLeft).Column + 1)
        .Hyperlinks.Add Anchor:=.Cells(rngRow.Row, lngC), _
          Address:=rngRow.Text, _
          TextToDisplay:=rngRow.Text
        
        Set rngRow = rng.FindNext(rngRow)
      Loop While Not rngRow Is Nothing And strFirst <> rngRow.Address
      
    End If
    
  End With
  
  Set rng = Nothing
  Set rngRow = Nothing
End Sub

Gruß Sepp

Anzeige

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige