Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1872to1876
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

Makro für Dienstplan-Verschickung

Makro für Dienstplan-Verschickung
16.03.2022 08:20:45
Kati
Guten Morgen zusammen, ich hoffe, ich finde hier ein Excel-Brain, das mir mit einem Makro helfen kann. Wir machen unsere Dienstplangestaltung mit Excel für ca. 100 Mitarbeiter. Ich bräuchte ein Makro, das automatisch jedes einzelne Tabellenblatt an den jeweiligen Mitarbeiter als pdf per E-Mail versendet. Danke schon mal für Eure Hilfe. Liebe Grüße Kati

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für Dienstplan-Verschickung
16.03.2022 08:27:48
UweD
Hallo Kati
Woher kommen die emailadressen der einzelnen Mitarbeiter?
- aus dem Blattnamen ableitbar,
- aus einer Zelle vom jeweiligen Blatt
- aus einer Umsetzungstabelle
LG UweD
AW: Makro für Dienstplan-Verschickung
16.03.2022 08:32:35
Kati
Hallo Uwe, ich würde eine Zelle in jedem Tabellenblatt mit der jeweiligen E-Mail-Adresse bestücken. Liebe Grüße Kati
AW: Makro für Dienstplan-Verschickung
16.03.2022 10:26:18
UweD
Hallo nochmal
so?

Option Explicit
Sub Dienstplan()
Dim Pfad As String, Datei As String, Ext As String
Dim Blatt As Worksheet, Rng As String, Empf As String
'Pfad für Temporäre Speicherung
Pfad = "E:\excel\temp\" 'mit \ am Ende
Ext = ".xlsx"
'Zelle für Empfänger
Rng = "A1"
For Each Blatt In ThisWorkbook.Sheets
Select Case Blatt.Name
Case "DiesesNicht", "DasauchNicht"
'mache nix
Case Else
'Empfänger aus Zelle
Empf = Blatt.Range(Rng)
If Empf = "" Then
MsgBox "Fehler! Empfänger in Blatt: " & Blatt.Name
Else
'in neues Blatt kopieren
Blatt.Copy
'Pfad und Dateiname
Datei = Pfad & Blatt.Name & Ext
'Blatt temporär speichern
If Dir(Datei)  "" Then Kill Datei
With ActiveWorkbook
.SaveAs Datei
.Close
End With
'Senden
Call send_Email(Datei, Empf, "")
'Temp löschen
Kill Datei
End If
End Select
Next
End Sub
Private Sub send_Email(strDatei As String, strTo As String, strCc As String)
Dim olApp As Object, olMail As Object
Dim mbody As String
mbody = "Hallo 

Hier dein Dienstplan.

" mbody = mbody & "

Gruß" Set olApp = CreateObject("Outlook.Application") Set olMail = olApp.CreateItem(0) With olMail .Subject = "Dienstplan" .To = strTo '.Cc = strCc .htmlbody = mbody .Attachments.Add strDatei '.Display .send 'je nach email- Sicherheitseinstellungen kann das einen Fehler 287 verursachen dann .Display End With Set olApp = Nothing Set olMail = Nothing End Sub

LG UweD
Anzeige
AW: Makro für Dienstplan-Verschickung
16.03.2022 10:41:46
Kati
Wow, ein Traum...vielen lieben Dank.
AW: Makro für Dienstplan-Verschickung
16.03.2022 10:50:04
UweD
Hallo Kati
sehe gerade erst, dass im unteren Teil leider einige HTML- Tags verschluckt wurden
Hier nochmal komplett.

Private Sub send_Email(strDatei As String, strTo As String, strCc As String)
Dim olApp As Object, olMail As Object
Dim mbody As String
mbody = "Hallo &LTp>&LTp> Hier dein Dienstplan.&LTp>&LTp>"
mbody = mbody & "&LTp>&LTp>Gruß"
Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(0)
With olMail
.Subject = "Dienstplan"
.To = strTo
'.Cc = strCc
.htmlbody = mbody
.Attachments.Add strDatei
.Display
'.send 'je nach Sicherheitseinstellungen kann das einen Fehler 287 verursachen dann .Display
End With
Set olApp = Nothing
Set olMail = Nothing
End Sub

Anzeige
AW: Makro für Dienstplan-Verschickung
16.03.2022 11:07:08
Kati
Dankeschön, Uwe. Ich probier's morgen gleich aus.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige