Excel-VBA | E-Mail/Outlook

Hallo zusammen!

Mir wurde empfohlen, den Artikel von damals noch einmal zu posten, da er wahrscheinlich in Vergessenheit geraten ist, wobei auch ein weiteres Problem (VBA) hinzukommen ist.

  1. Ich möchte ein vorabdefiniertes Excel-Arbeitsblatt (diese besteht aktuell noch nicht, lediglich eine gedankliche Vorstellung davon!) mittels VBA per Outlook gerne automatisch versenden. Wie stelle ich dies an? 1. Möchte ich die Aktion gerne per Drop-Down-Menu durchführen, d.h., alle vorhandene Arbeitsblätter des Files sollen im Drop-down erscheinen, um die für mich relevanten Sheets auswählen zu können, welche entsprechend versendet werden sollen. 2. Im zweiten Schritt soll sich Outlook dann mit einem vorab fesgelegten Empfänger mit E-Mail-Adresse, der jedoch (wahrscheinlich) konstant bleibt öffnen, bei dem die Arbeitsmappe automatisch im Anhang vorzufinden ist. Wichtig ist dabei, dass sich die Betreffzeile der E-Mail je nach selektiertem Arbeitsblatt ändern tut. Wenn ich beispielweise das Sheet _Kraftstoffpumpen _mithilfe das Drop-down-Menu ausgewaehlt habe, soll der Name des Arbeitsblattes automatisch in der Betreffzeile der E-Mail eingefügt werden, sodass das E-Mail nach Überprüfung direkt versendet werden kann. Kann ich diese Operation mit dem Befehl SendMail ausführen, oder was muss ich des Weiteren beachten?

  2. Daneben möchte ich gerne Daten aus verschiedenen Arbeitsblätter verdichten, d.h. am Ende eines Monats auf einem gesonderten Sheets bestimmte Kennzahlen zwecks Strukturierung und der Übersichtlichkeit halber angezeigt lassen bekommen. Problem liegt m.E. darin, dass die eingegebenen Daten in den entsprechenden Sheets ihre Position/Zelle ändern können, da eine manuelle Eingabe erfolgt, d.h., ich muss wahrscheinlich ebenfalls mit VBA arbeiten/umgehen können. Wie kann ich dies bewerkstelligen? Ich vermute, dass dies nicht allzu schwer ist, da man sich ja Hilfskonstruktion bilden kann, wobei dies mit VBA (für mich) dann vorerst doch wieder eine Herausforderung darstellt. Mit diesen Daten möchte schließlich die Entwicklung aufzeigen, und zwar dynamisch und automatisch (Name definieren, etc.), was jedoch wahrscheinlich kein Problem darstellen wird.

Ich hoffe, Ihr versteht, was ich meine, und könnte mir entsprechend dabei helfen!

Vielen Dank und Viele Grüße

Michael

Hallo noch einmal zusammen!

Kann niemand helfen?

Nochmals vielen Dank!

Viele Grüße

Michael

Code?
Hallo Michael,
warum zeigst Du nicht Deinen Code ( aus dem Makrorecorder z. B. )?
Nicht jeder pot. Helfer fängt gerne im luftleeren Raum an.
Freundliche Grüße
Thomas

1 Like
  1. Ich möchte ein vorabdefiniertes Excel-Arbeitsblatt (diese
    besteht aktuell noch nicht, lediglich eine gedankliche
    Vorstellung davon!) mittels VBA per Outlook gerne automatisch
    versenden.

Hallo Michael

Ich habe unter den VBA-Projekten eine UserForm1 mit einer Listbox1 erstellt. Diese Userform1 enthält folgende zwei Codes:

Private Sub UserForm\_Initialize()

 With ListBox1
 shc = ActiveWorkbook.Sheets.Count
 For s = 1 To shc
 wsn = ActiveWorkbook.Sheets(s).Name
 .AddItem wsn
 Next s
 End With

End Sub

Private Sub ListBox1\_Click()
 With ListBox1
 If .ListIndex \>= 0 Then
 LInd$ = .List(.ListIndex)
 End If
 End With
 MsgBox LInd$
 Call Blatt\_senden(LInd$)
End Sub

Weiter habe ich ein Modul erstellt mit folgenden zwei Makros

Sub START\_User\_Form()
UserForm1.Show
End Sub


Sub Blatt\_senden(LInd$)
recip$ = "[email protected]"
Sheets(LInd$).Copy
ActiveWorkbook.SendMail recip$, LInd$
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub

Wenn ich „START_User_Form“ aufrufe, gerät das ganze in Bewegung und klappt bestens; ich hoffe, es funkt auch bei Dir.

Zu Deiner zweiten Frage „Daten aus verschiedenen Arbeitsblätter verdichten“ bräuchte man nähere Angaben. Am besten Deine Excel-Datei.

Freundliche Grüsse Niclaus