Supportnet / Forum / Tabellenkalkulation
Marko zum Versenden eines EXCEL-Tabellenblattes an eine variable E-Mail-Adresse
Frage
Hallo zusammen,
ich bin relativ neu beim Thema EXCEL und Makros.
Nun habe ich zur Aufgabe bekommen, ein bestimmtes Tabellenblatt aus der EXCEL-Datei "Ausfahrt" heraus an eine variable E-Mail-Adresse zu senden.
In der zu bearbeitenden Datei "Ausfahrt" im Tabellenblatt "info" in Zelle F3 steht die zur Zeit gültige E-Mail-Adresse.
Das Versenden des Tabellenblattes habe ich in der Vergangen wie folgt gemacht:
Sub Blatt_senden()
Sheets("Tabelle2").Copy
ActiveWorkbook.SendMail "beispiel@mail.de", "Tabelle2"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Doch jetzt ist die Empfänger-Adresse leider sehr häufig unterschiedlich und das ewige ändern des Makros "finde ich weniger toll".
Kann mir jemand helfen?
Danke Marivn
marvin_der_koenig@freenet.de
Antwort 1 von JoeKe
Hallo Marvin,
leider kann ich es im Moment nicht testen, aber es könnte so gehen:
Sub Blatt_senden()
Dim Empfänger as String
Empfänger=Worksheets("info").Range("F4")
Sheets("Tabelle2").Copy
ActiveWorkbook.SendMail Empfänger, "Tabelle2"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
MfG
JöKe
leider kann ich es im Moment nicht testen, aber es könnte so gehen:
Sub Blatt_senden()
Dim Empfänger as String
Empfänger=Worksheets("info").Range("F4")
Sheets("Tabelle2").Copy
ActiveWorkbook.SendMail Empfänger, "Tabelle2"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
MfG
JöKe
Antwort 2 von Marvin1986
Hallo JöKe,
recht herzlichen Dank, das ergänzte Makro läuft.
Vielen Dank für die SCHNELLE Hilfe
Gruß Marvin
recht herzlichen Dank, das ergänzte Makro läuft.
Vielen Dank für die SCHNELLE Hilfe
Gruß Marvin
Antwort 3 von CaroS
Empfänger=Worksheets("info").Range("F3")
Antwort 4 von JoeKe
Hallo Caro,
hat er wohl bemerkt ;-)
hat er wohl bemerkt ;-)
Antwort 5 von marvin1986
Hallo alle zusammen,
noch einmal herzlichen Dank für die Hilfe und Unterstützung.
Nun hat mein Vater mich aber auf eine andere Idee gebracht.
Ich versende das im Makro angegebene Tabellenblatt, siehe Makro:
Sub S1_senden()
Dim Empfänger As String
Empfänger = Worksheets("info").Range("F3")
Sheets("S1").Copy
ActiveWorkbook.SendMail Empfänger, "S1"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Nun müßte ich für alle Tabellenblätter je nach Bedarf versenden.
Dafür müßte ich in jedem Tabellenblatt das Makro entsprechend ändern.
Gibt es eine Möglichkeit, das das zur Zeit geöffnete Tabellenblatt versandt wird?
Ich danke Euch
Gruß Marvin
noch einmal herzlichen Dank für die Hilfe und Unterstützung.
Nun hat mein Vater mich aber auf eine andere Idee gebracht.
Ich versende das im Makro angegebene Tabellenblatt, siehe Makro:
Sub S1_senden()
Dim Empfänger As String
Empfänger = Worksheets("info").Range("F3")
Sheets("S1").Copy
ActiveWorkbook.SendMail Empfänger, "S1"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Nun müßte ich für alle Tabellenblätter je nach Bedarf versenden.
Dafür müßte ich in jedem Tabellenblatt das Makro entsprechend ändern.
Gibt es eine Möglichkeit, das das zur Zeit geöffnete Tabellenblatt versandt wird?
Ich danke Euch
Gruß Marvin
Antwort 6 von JoeKe
Hallo Marvin,
versuch es mal so:
ActiveWorkbook.SendMail Empfänger, ActiveSheet
Gruß
JöKe
versuch es mal so:
ActiveWorkbook.SendMail Empfänger, ActiveSheet
Gruß
JöKe
Antwort 7 von marvin1986
Hallo JöKe,
ich habe die Zeile im Makro geändert, doch jetzt funktioniert gar nichts mehr.
Magst Du mir im Makro kenntlich machen, wo und wie ich die Zeile einsetzen sollte?
Danke Marvin
ich habe die Zeile im Makro geändert, doch jetzt funktioniert gar nichts mehr.
Magst Du mir im Makro kenntlich machen, wo und wie ich die Zeile einsetzen sollte?
Danke Marvin
Antwort 8 von JoeKe
Hallo Marvin,
wie schon in AW 1 gesagt ich kann es im Moment nicht Testen.
Sub S1_senden()
Dim Empfänger As String
Empfänger = Worksheets("info").Range("F3")
ActiveSheet.Copy
ActiveWorkbook.SendMail Empfänger, ActiveSheet
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Gruß
JöKe
wie schon in AW 1 gesagt ich kann es im Moment nicht Testen.
Sub S1_senden()
Dim Empfänger As String
Empfänger = Worksheets("info").Range("F3")
ActiveSheet.Copy
ActiveWorkbook.SendMail Empfänger, ActiveSheet
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Gruß
JöKe
Antwort 9 von JoeKe
Ergänzung:
ActiveWorkbook.SendMail Empfänger, ActiveSheet.Name
muss es wohl heißen.
Gruß
ActiveWorkbook.SendMail Empfänger, ActiveSheet.Name
muss es wohl heißen.
Gruß

