Supportnet Computer
Planet of Tech

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

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

Antwort 3 von CaroS

Empfänger=Worksheets("info").Range("F3")

Antwort 4 von JoeKe

Hallo Caro,

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

Antwort 6 von JoeKe

Hallo Marvin,

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

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

Antwort 9 von JoeKe

Ergänzung:

ActiveWorkbook.SendMail Empfänger, ActiveSheet.Name

muss es wohl heißen.

Gruß

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: