Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Email Verteiler erstellen per Makro

Email Verteiler erstellen per Makro
18.03.2016 13:29:24
Princess88
Hallo liebe VBA_Freaks,
ich kenne mich leider noch nicht so gut mit VBA aus, deshalb benötige ich dringend eure Hilfe.
Ich möchte gerne einen Email Verteiler erstellen. Ich habe ein Tabellenblatt wo ich zu den Abteilungen die Email Adressen vorgebe.
Ich wünsche mir ein Makro, dass die Spalte A nach der vorgegebenen Abteilung überprüft und die Email Adressen dann mit Semikolon in die "An" Zeile setzt und diese Verteiler in eine Variable speichert:
SpalteA: SpalteB:
Vertrieb xy@welt.de
Vertrieb xyz@welt.de
Einkauf abc@welt.de
Vertrieb= (hier fehlt mir der Makro Code)
vergleiche ob in Spalte A "Vertrieb" steht und gebe die EmailAdressen aus
Spalte B aus(xy@welt.de;xyz@welt.de)
Am Ende möchte ich die Variable dann in mein Email Makro einsetzen:
With olApp.CreateItem(0)
.To = Vertrieb
Ich hoffe mir kann jemand helfen, habe echt ein Brett vor dem Kopf.
Viele Grüße
Princess88

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Email Verteiler erstellen per Makro
18.03.2016 13:40:48
Michael
Hallo!
Schematisch, so:
Sub Verteiler()
Dim Vertrieb As String
Dim Adr As Range
With ActiveSheet
For Each Adr In .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
If Adr.Text = "Vertrieb" Then
Vertrieb = Vertrieb & Adr.Offset(0, 1).Text & ";"
End If
Next Adr
End With
Vertrieb = Left(Vertrieb, Len(Vertrieb) - 1)
Debug.Print Vertrieb
End Sub
LG
Michael

Anzeige
AW: Email Verteiler erstellen per Makro
18.03.2016 14:38:37
Princess88
Hallo Michael,
du bist ein Schatz und hast mir das Wochenende gerettet! Das funktioniert super!
DANKEEEEEE
Grüße,
Princess88

Gern! Danke fd Rückmeldung, Schönes WE owT
18.03.2016 14:43:15
Michael

AW: Email Verteiler erstellen per Makro
18.03.2016 15:10:29
Princess88
Ne kleine Frage ist aber gerade noch aufgetaucht. Wie ist es denn, wenn ich mehrere Abteilungen
abfragen möchte, mit "or" funktioniert es leider nicht. Siehe unten:
Sub Verteiler()
Dim Vertrieb As String
Dim Adr As Range
With ActiveSheet
For Each Adr In .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
If Adr.Text = "Vertrieb" or "Controlling" or "Einkauf" Then
Vertrieb = Vertrieb & Adr.Offset(0, 1).Text & ";"
End If
Next Adr
End With
Vertrieb = Left(Vertrieb, Len(Vertrieb) - 1)
Debug.Print Vertrieb
End Sub
Danke ;-)

Anzeige
AW: Email Verteiler erstellen per Makro
18.03.2016 15:19:11
Princess88
Es hat sich gerade noch eine kleine Frage ergeben, wie ist es denn, wenn ich mehrere Abteilungen abfragen möchte, z.B. "Vertrieb" und "Einkauf" und "Versand"?

AW: Email Verteiler erstellen per Makro
18.03.2016 15:23:09
Princess88
Es hat sich gerade noch eine kleine Frage ergeben, wie ist es denn, wenn ich mehrere Abteilungen abfragen möchte, z.B. "Vertrieb" und "Einkauf" und "Versand"?

Anzeige
AW: Email Verteiler erstellen per Makro
18.03.2016 15:23:52
Princess88
Es hat sich gerade noch eine kleine Frage ergeben, wie ist es denn, wenn ich mehrere Abteilungen abfragen möchte, z.B. "Vertrieb" und "Einkauf" und "Versand"?

AW: Email Verteiler erstellen per Makro
18.03.2016 15:35:42
Steve
Hallo Princess,
bitte höre auf alle paar Minuten die gleiche Anfrage zu posten. Wenn du deinen Browser mit F5 aktualisierst, sieht auch du deine vorherigen Beiträge.
Damit du nicht erneut schreiben musst, will ich dir kurz helfen:
Eine If-Bedingung braucht immer einen oder mehrere Wahrheitswerte, welche mit "Or" bzw. "And" verbunden werden können. Der Text "Einkauf" ist leider kein Wahrheitswert, du musst stattdessen wieder eine Gleichung bilden, deren Ergebnis dann wahr oder falsch sein kann. In deinem Fall willst du ja Adr.Text prüfen, also dann so:
If Adr.Text = "Vertrieb" Or Adr.Text = "Einkauf" Or Adr.Text = "Versand" Then
lg Steve

Anzeige
Wobei sich hier eine Fall-Auswahl aufdrängt...
18.03.2016 20:10:31
Michael
Princess (und Steve),
etwa so:
Sub Verteiler()
Dim Vertrieb As String
Dim Adr As Range
With ActiveSheet
For Each Adr In .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
Select Case Adr.Text
Case Is = "Vertrieb", "Einkauf", "Versand"
Vertrieb = Vertrieb & Adr.Offset(0, 1).Text & ";"
Case Else
'ggf. anderer Code für andere Abteilungen
End Select
Next Adr
End With
Vertrieb = Left(Vertrieb, Len(Vertrieb) - 1)
Debug.Print Vertrieb
End Sub
LG und schönes Wochenende
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Email Verteiler aus Excel erstellen mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Datei mit der Tabelle, in der sich die E-Mail-Adressen befinden.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeinDateiname)" > Einfügen > Modul.
  4. Kopiere den folgenden Code in das Modul:

    Sub Verteiler()
        Dim Vertrieb As String
        Dim Adr As Range
        With ActiveSheet
            For Each Adr In .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
                If Adr.Text = "Vertrieb" Or Adr.Text = "Einkauf" Or Adr.Text = "Versand" Then
                    Vertrieb = Vertrieb & Adr.Offset(0, 1).Text & ";"
                End If
            Next Adr
        End With
        Vertrieb = Left(Vertrieb, Len(Vertrieb) - 1)
        Debug.Print Vertrieb
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.
  6. Führe das Makro aus: Gehe zu Entwicklertools > Makros > wähle Verteiler und klicke auf Ausführen.

Jetzt hast Du erfolgreich einen E-Mail Verteiler aus Deiner Excel-Liste erstellt!


Häufige Fehler und Lösungen

  • Fehler: "Typ nicht definiert"

    • Stelle sicher, dass Du alle Variablen korrekt deklariert hast. In VBA müssen Variablen vor der Verwendung deklariert werden.
  • Problem: E-Mail-Adressen werden nicht korrekt zusammengefügt

    • Überprüfe, ob die Adressen in der richtigen Spalte stehen (Spalte B in diesem Beispiel).
  • Fehler bei der Verwendung von Or

    • Stelle sicher, dass Du jede Bedingung korrekt formulierst. Die richtige Syntax ist: If Adr.Text = "Vertrieb" Or Adr.Text = "Einkauf" Then.

Alternative Methoden

  1. Verwendung von Select Case:

    Select Case Adr.Text
        Case "Vertrieb", "Einkauf", "Versand"
            Vertrieb = Vertrieb & Adr.Offset(0, 1).Text & ";"
    End Select

    Dies kann die Lesbarkeit des Codes verbessern.

  2. E-Mail Verteiler aus Excel Tabelle erstellen: Du kannst auch direkt in Outlook einen Verteiler erstellen, indem Du die Kontakte aus Excel importierst.


Praktische Beispiele

  • Ein E-Mail Verteiler für verschiedene Abteilungen:

    If Adr.Text = "Vertrieb" Or Adr.Text = "Marketing" Then

    Diese Zeile kann einfach angepasst werden, um mehr Abteilungen zu berücksichtigen.

  • Verwendung eines Makros für Outlook:

    With olApp.CreateItem(0)
        .To = Vertrieb
        .Subject = "Betreff"
        .Body = "Nachrichtentext"
        .Display
    End With

    Dadurch wird der Verteiler direkt in Outlook verwendet.


Tipps für Profis

  • E-Mail Verteiler einrichten in Outlook: Du kannst auch eine Verteilerliste in Outlook direkt erstellen. Gehe zu Personen, wähle Neue Kontaktgruppe und füge die E-Mail-Adressen hinzu.

  • Makros automatisieren: Du kannst das Makro so einstellen, dass es automatisch ausgeführt wird, wenn Du die Excel-Datei öffnest.


FAQ: Häufige Fragen

1. Wie kann ich E-Mail Verteiler aus einer Excel-Liste erstellen? Du kannst dies mit VBA tun, indem Du die E-Mail-Adressen aus einer bestimmten Spalte auswählst und sie in eine Variable speicherst.

2. Kann ich E-Mail Verteiler in Gmail erstellen? Ja, Du kannst E-Mail Verteiler in Gmail erstellen, indem Du eine Gruppe von Kontakten anlegst und diese in deine E-Mails einfügst.

3. Was muss ich beachten, wenn ich mehrere Abteilungen abfragen möchte? Verwende die richtige Syntax in Deinen Bedingungen, um sicherzustellen, dass alle gewünschten Abteilungen korrekt erfasst werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige