VBA Programmierung - Automatischer Email versandt Probleme?

Hallo ich hoffe Ihr könnt mir helfen :/

Folgendes Problem: Wenn ich die Mail versende, öffnen sich für jede Zeile eine extra Email und leider auch nur jeweils ein Empfänger und einer in cc.

Was muss ich nun in der Programmierung hinzufügen, um nur eine Email geöffnet zu bekommen, mit mehreren Empfängern (Falls mehrere Kreuze gesetzt worden sind). Ich danke euch echt wenn Ihr mir helfen können :/

Ich habe mir die Bausteine aus dem Internet zusammengesetzt, bin daher kein Profi darin.

Programmtext:

Private Sub Send_Email()
   '-------------< Send_Email() >-------------
   Dim sTitle As String
   sTitle = "Test-HTML Email from Excel"
   '< HMTL holen >
   Dim sTemplate As String
   sTemplate = Sheets("ini_Vorlage").Shapes(1).TextFrame2.TextRange.Text
   '</ HMTL holen >
   '----< Send with Outlook >----
   Dim app_Outlook As Outlook.Application
   Set app_Outlook = New Outlook.Application
   '--< Email einstellen >--
   Dim objEmail As Outlook.MailItem
   Dim sEmail_Addresscc As String
   Dim sEmail_Address As String
   Dim iRow As Integer
   For iRow = 4 To 100
       If Cells(iRow, 21) = "x" Then
           '< get Email Address >
           'Column 2, B
           sEmail_Address = Cells(iRow, 19)
           sEmail_Addresscc = Cells(iRow, 20)
           '</ get Email Address >
           '< Fill Placeholders >
           Dim sHTML As String
           sHTML = Replace(sTemplate, "[@Name]", sEmail_Address)
           '</ Fill Placeholders >
           '--< Send Email >--
           Set objEmail = app_Outlook.CreateItem(olMailItem)
           objEmail.To = sEmail_Address
           objEmail.CC = sEmail_Addresscc
           objEmail.Subject = sTitle
           'objEmail.HTMLBody = sHTML 'use .HTMLBody for HTML
           objEmail.Body = sHTML      'and .body for pure Text
           objEmail.Display
           '--</ Send Email >--
       End If
   Next
   '< Abschluss >
   Set objEmail = Nothing
   Set app_Outlook = Nothing
   '</ Abschluss >
   MsgBox "Emails erstellt", vbInformation, "Fertig"
   '----</ Send with Outlook >----
   '-------------</ Send_Email() >-------------
End Sub

Bild zum Beitrag
Computer, Microsoft Excel, E-Mail, programmieren, VBA, VBA Programmierung, VBA Excel, makros erstellen
Wie kann ich die Überschriften in einer Excel Tabelle nach ihren untergeordneten Daten sortieren?

Situation ist wie folgt: Die erste Spalte der Tabelle enthält Titel von verschiedenen Büchern. Die nächsten Spalten sind jeweils mit einem Schlagwort betitelt.
Zu jedem Buch ist nun die Häufigkeit des Schlagworts, welches in der Überschriften-Zeile steht in der jeweiligen Spalte eingetragen. Dabei sind nur die obersten ~30 Schlagwörter pro Buch eingetragen, es bleiben weit über 100 Zellen pro Buch leer.

Wenn wir zum Beispiel Hänsel und Gretel in der ersten Spalte stehen haben, steht unter dem Schlagwort „Hexe“ eine 18, wenn dieses Wort so häufig in dem Text vorkommt.

Jetzt möchte ich jedes Buch die häufigsten 3 Schlagwörter in eine neue Spalte setzen. Diese sind dann nicht mehr mit dem Schlagwort betitelt, sondern mit: Am häufigsten, zweithäufigsten, dritthäufigsten...

Mit einer Kombination aus KGRÖSSTE und WVERWEIS bin ich dem ganzen schon sehr nahe gekommen, aber es ergibt sich ein Problem: mit meiner Formel suche ich nach dem k-größten Wert und lasse mir mit WVERWEIS die jeweilige Überschrift zurück geben. Kommen zwei Schlagwörter in einem Text nun aber gleich oft vor, wird nur eines von beiden zurück gegeben, das andere wird ignoriert.

Beispiel: Hexe und Brot kommen beide 18 mal vor. Es wird jedoch nur Brot zurück gegeben und Hexe wird ignoriert. Stattdessen steht in der nächsten Zelle „Mutter“, welches nur 17 mal vorkommt.

Ich weiß die Frage ist kompliziert aber ich komme einfach nicht drauf. Ich würde mich freuen wenn jemand eine Lösung darauf hätte. Vielen Dank!

Microsoft Excel, Verweis, Tabelle

Meistgelesene Beiträge zum Thema Microsoft Excel