Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: email > cc ergänzen

email > cc ergänzen
Stef@n
Hallo und guten Abend,
via folgendem Code versende ich ein Mail (Kopie des Tabellenblattes) an eine
email-Adresse - email-Adresse steht in der Zelle L13 -
Kann ich den Code soweit erweitern, dass automatisch immer ein Mail
in CC an eine fest definierte Adresse geschickt wird ?
Sub Blatt_senden2()
Dim Empfaenger As String
Dim wsQuelle As Worksheet, wsTemp As Worksheet
Empfaenger = [L13]
If Range("O10").Value = "TEST" Then
Set wsQuelle = Sheets("Abfrage")
Workbooks.Add
Application.DisplayAlerts = False
'Überflüssige Blätter der neuen Mappe löschen :
If Sheets.Count > 1 Then
For Each wsTemp In Sheets
If wsTemp.Index > 1 Then wsTemp.Delete
Next
End If
wsQuelle.Cells.Copy
ActiveSheet.Name = wsQuelle.Name
With ActiveSheet.Cells
.PasteSpecial Paste:=xlValues   'Werte einfügen
.PasteSpecial Paste:=xlFormats  'Formate einfügen
End With
ActiveWorkbook.SendMail Empfaenger, "Grenz-Zahl erreicht !"
ActiveWindow.Close
Application.DisplayAlerts = True
End If
End Sub
Wichtig: es soll dieser Code verwendet werden, da er unabhängig, welcher email-Client
genutzt wird, das Mail verschickt.
Freu mich auf eine Antwort
Gruss Stef@n
PS
Für Outlook habe ich einen Code der auch funktioniert, in dem ich ein CC eingeben kann
Nur dieser Code hat den Nachteil. dass er z.B. bei Thunderbird nicht funktioniert
Sub OL_Senden()
Dim olapp As Object
Dim objMail As Object
Dim Empfaenger As String
Empfaenger = [L13]
If Range("O10").Value = "TEST" Then
Set olapp = CreateObject("Outlook.Application")
Set objMail = olapp.CreateItem(olMailItem)
With objMail
'.cc = "xxx@yyy.com"
'.bcc = "zzz.uuu@ccc.de"
To = Empfaenger
.Subject = "Grenz-Zahl erreich"
.Subject = Environ("Username") & " schickt Info:  Grenz-Zahl erreicht!"
'.Body = "hier dein Text, der als email-Text erscheinen soll"
.Body = Worksheets("Abfrage").Range("I10").Value
'.Display 'zeigt die Mail nur an - du musst auf Senden klicken
.Send 'legt die Mail gleich in den Postausgang
End With
End If
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: email > cc ergänzen
23.11.2009 23:48:52
Oberschlumpf
Hi Stefan
Ich hab mal für dich gegoogelt ;-)
Und ich denk, cc mit sendmail geht nich.
Aber was spricht denn dagegen, alle Empfänger ins An-Feld zu setzen?
ActiveWorkbook.SendMail Empfaenger & ";" & "deineFesteEmailAdr", "Grenz-Zahl erreicht !"
Ciao
Thorsten
AW: email > cc ergänzen
24.11.2009 09:55:14
Stef@n
Hallo Thorsten,
ja, bei der Mama Google hatte ich mich auch schon "schlau gemacht"
und nix gefunden.
Aber deine Idee ist sehr - genau so werde ich es machen
Danke Dir sehr und einen schönen Tag noch
Stef@n
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

E-Mail mit CC in Excel versenden


Schritt-für-Schritt-Anleitung

Um eine E-Mail mit CC in Excel zu versenden, kannst Du den folgenden VBA-Code verwenden. Dieser Code sendet eine E-Mail an die in Zelle L13 angegebene Adresse und fügt eine feste CC-Adresse hinzu.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Projektfenster das entsprechende Arbeitsblatt aus.
  3. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.
  4. Füge den folgenden Code ein:
Sub Blatt_senden2()
    Dim Empfaenger As String
    Dim wsQuelle As Worksheet, wsTemp As Worksheet
    Dim ccEmpfaenger As String
    ccEmpfaenger = "deineFesteEmailAdr"  ' Ersetze mit der gewünschten CC-Adresse
    Empfaenger = [L13]

    If Range("O10").Value = "TEST" Then
        Set wsQuelle = Sheets("Abfrage")
        Workbooks.Add
        Application.DisplayAlerts = False

        ' Überflüssige Blätter der neuen Mappe löschen
        If Sheets.Count > 1 Then
            For Each wsTemp In Sheets
                If wsTemp.Index > 1 Then wsTemp.Delete
            Next
        End If

        wsQuelle.Cells.Copy
        ActiveSheet.Name = wsQuelle.Name
        With ActiveSheet.Cells
            .PasteSpecial Paste:=xlValues   ' Werte einfügen
            .PasteSpecial Paste:=xlFormats  ' Formate einfügen
        End With

        ' E-Mail mit CC senden
        ActiveWorkbook.SendMail Empfaenger & ";" & ccEmpfaenger, "Grenz-Zahl erreicht !"
        ActiveWindow.Close
        Application.DisplayAlerts = True
    End If
End Sub
  1. Ändere die CC-Adresse in der Zeile ccEmpfaenger = "deineFesteEmailAdr" nach Deinen Wünschen.
  2. Schließe den VBA-Editor und führe das Makro aus.

Häufige Fehler und Lösungen

  1. E-Mail wird nicht gesendet: Prüfe, ob Du die Berechtigung hast, E-Mails über Excel zu senden. Manchmal blockieren Sicherheitseinstellungen den Versand.

  2. CC wird nicht erkannt: Stelle sicher, dass Du die CC-Adresse korrekt im Code eingefügt hast. Sie sollte durch ein Semikolon von der Hauptadresse getrennt werden.

  3. Excel stürzt ab: Manchmal kann es zu Problemen kommen, wenn Du mit großen Datenmengen arbeitest. Stelle sicher, dass die Datei nicht zu viele Blätter oder große Datenmengen enthält.


Alternative Methoden

Wenn Du eine andere Methode bevorzugst, um E-Mails zu versenden, kannst Du VBA in Verbindung mit Outlook verwenden. Hier ist ein Beispiel:

Sub OL_Senden()
    Dim olapp As Object
    Dim objMail As Object
    Dim Empfaenger As String
    Dim ccEmpfaenger As String
    ccEmpfaenger = "deineFesteEmailAdr"  ' CC-Adresse
    Empfaenger = [L13]

    If Range("O10").Value = "TEST" Then
        Set olapp = CreateObject("Outlook.Application")
        Set objMail = olapp.CreateItem(0)
        With objMail
            .To = Empfaenger
            .CC = ccEmpfaenger
            .Subject = "Grenz-Zahl erreicht!"
            .Body = Worksheets("Abfrage").Range("I10").Value
            .Send  ' Sendet die E-Mail
        End With
    End If
End Sub

Diese Methode erfordert, dass Outlook auf Deinem Computer installiert ist und ordnungsgemäß konfiguriert wurde.


Praktische Beispiele

Hier sind einige Anwendungsbeispiele für den oben genannten Code:

  • Versenden von Berichten: Du kannst diesen Code verwenden, um regelmäßig Berichte an Dein Team zu senden, indem Du die Zelle L13 mit den entsprechenden Empfängern füllst.

  • Benachrichtigungen: Setze den Code ein, um Benachrichtigungen zu senden, wenn bestimmte Bedingungen erfüllt sind (z. B. wenn eine Grenze überschritten wird).


Tipps für Profis

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in Deinem VBA-Code, um unerwartete Fehler zu erfassen. Nutze On Error Resume Next und On Error GoTo 0.

  • Mehrere CC-Adressen: Du kannst mehrere CC-Adressen hinzufügen, indem Du sie mit Semikolons trennst, z.B. ccEmpfaenger = "email1@domain.com; email2@domain.com".

  • Dynamische E-Mail-Adressen: Nutze Excel-Formeln, um E-Mail-Adressen dynamisch zu generieren, beispielsweise durch Verknüpfungen aus mehreren Zellen.


FAQ: Häufige Fragen

1. Kann ich auch BCC-Adressen hinzufügen?
Ja, Du kannst BCC-Adressen hinzufügen, indem Du die entsprechende Zeile in den VBA-Code einfügst: .BCC = "deineBCCEmailAdr".

2. Funktioniert dieser Code mit Gmail?
Ja, der Code sollte auch mit Gmail funktionieren, solange Du die richtigen SMTP-Einstellungen in Excel konfiguriert hast. Beachte, dass bei der Verwendung von Gmail möglicherweise zusätzliche Authentifizierungsschritte erforderlich sind.

3. Ist der Code mit allen Excel-Versionen kompatibel?
Der Code sollte in den meisten modernen Excel-Versionen (ab Excel 2007) funktionieren. Ältere Versionen könnten einige Funktionen nicht unterstützen.

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