Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: E mail senden mit einem Tabellen Blatt VBA

E mail senden mit einem Tabellen Blatt VBA
20.09.2024 09:32:56
TomVBW
hi

danke für deine Antwort. Ich habe mit der it abt. gesprochen vba ist bei uns nicht deaktiviert. man Muss nur die
Entwickler Tools aktivieren ...

also bitte helft mir etwas passendes zu finden. jetzt brauche ich sozusagen etwas anderes für Excel und vba Profis sicher lächerliche einfaches. aber bitte erklärt mir die Lösung nicht zu komplex ich hab noch nie mit vba gearbeitet.

ich versuche zu erklären: ich habe eine Excel liste mit vielen Tabellen blättern. in jeden Blatt sind listen in denen man Objekten werte zuordnen kann(Zahlen). die werte all diese Einzelblätter werden in ein einzelnes Tabellen Blatt gefiltert. das funktioniert schon super.

JETZT brauche ich nur noch einen Botton im ersten Tabellen Blatt auf dem dann stehen soll "Bestellung abschicken " nachdem der User in den Tabellen und listen seine werte eingetragen hat, drückt er auf den Button und es sollte das Tabellen Blatt mit den gefilterten werten an meine E-Mail Adresse gesendet werden.

ich hoffe es ist verständlich was ich meine : auf Knopfdruck ein Tabellen Blatt an eine bestimmte E-Mail senden.

danke für eure Hilfe lg tom
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: E mail senden mit einem Tabellen Blatt VBA
20.09.2024 10:20:21
volti
Hallo Tom,

hier eine Idee dazu.....

Code:


Option Explicit Private Sub CommandButton1_Click() ' Sub für Button1 ins Blatt des Button Dim sDateiname As String, WSh As Worksheet Set WSh = ActiveSheet 'Sheets(1) 'zu versendendes Blatt sDateiname = Environ("TEMP") & "\" & WSh.Name & ".xlsx" ' temporäre Datei erstellen WSh.Copy ' Blatt kopieren With ActiveWorkbook .SaveAs sDateiname ' Als Datei abspeichern .Close ' Datei schließen End With With CreateObject("Outlook.Application").CreateItem(0) .Getinspector.Display ' Signatur holen .To = "Ich@MeineFirma.de" ' Empfänger .Cc = "" .Subject = "Geänderte Daten vom " & Date & ", " & Time .body = "Anbei die Daten" & vbCrLf & .body ' Text mit Signatur .Attachments.Add sDateiname ' Anlage dran End With Kill sDateiname ' temporäre Datei wieder löschen End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: E mail senden mit einem Tabellen Blatt VBA
20.09.2024 11:38:15
TomVBW
danke für die schnelle antwort.

da ich mich mit vba nicht auskenne könntest du mir noch in deinem Code markieren wo ich das blatt auswähle welches versendet werden soll ," bei Sheets(1)" statt der 1 die Nummer die ich senden möchte also zb Sheets(12)? oder geht auch der name des blattes zb Sheets(bestellung) ?
oder könntest du mir das in den code eingeben damitt ich sehe wie es gemeint ist. Das zu kopierende tabellen blatt ist nr 12 mit namen Bestellung.
die datei sollte Bestellung mit Datum heißen signatur mus nicht sein. der button text "Bestellung senden".
bei e meil kenne ich mich aus.

danke für deine mühe sorry für die umstände ist leider chinesisch für mich. :-)
Anzeige
AW: E mail senden mit einem Tabellen Blatt VBA
20.09.2024 12:05:29
ralf_b
Activesheet sollte ausreichen, denn wenn du auf den Button drückst, der sich auf dem zu versendenden Blatt befindet, dann ist des aktive Blatt ja auch genau das.
sonst schreibst du den Blattnamen in Anführungsstriche Sheets("name")


Set WSh = ActiveSheet
'dateiname mit Datum und Punkt durch Unterstrich ersetzt
sDateiname = Environ("TEMP") & "\" & WSh.Name & Replace(Date, ".", "_") & ".xlsx"
Anzeige
AW: E mail senden mit einem Tabellen Blatt VBA
21.09.2024 12:36:47
Eifeljoi 5
Hallo

Wenn VBA Zitat " leider chinesisch " ist dann probiere es doch ohne VBA, mit deiner Excel Version müsste dies klappen, wenn du OneDrive mit deinem Excel verbunden ist.
Das einzige man muss halt mehrere Klicks machen.
AW: E mail senden mit einem Tabellen Blatt VBA
20.09.2024 12:26:53
volti
Hallo Tom,

wenn Du die Signatur nicht möchtest, lassen wir die weg.

Hier noch mal eine neue Version mit dem Blattnamen "Bestellung". Ralf's Hinweise zu Activesheet sind natürlich auch möglich.

Code:


Private Sub CommandButton1_Click() ' Sub für Button1 ins Blatt des Button Dim sDateiname As String Const csBlatt As String = "Bestellung" ' <<< ggf. anpassen >>> sDateiname = Environ("TEMP") & "\" & csBlatt & "_" _ & Replace(Date, ".", "_") & ".xlsx" ' temporäre Datei erstellen ThisWorkbook.Sheets(csBlatt).Copy ' Blatt kopieren With ActiveWorkbook .SaveAs sDateiname ' Als Datei abspeichern .Close ' Datei schließen End With ' eMail kreieren With CreateObject("Outlook.Application").CreateItem(0) .Getinspector.Display ' ggf. Signatur holen .To = "Ich@MeineFirma.de" ' Empfänger .Cc = "" .Subject = "Bestellung vom " & Date & ", " & Time .body = "Anbei die Daten" ' Text .Attachments.Add sDateiname ' Anlage dran End With ' temporäre Datei wieder löschen Kill sDateiname End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: E mail senden mit einem Tabellen Blatt VBA
22.09.2024 10:53:16
TomVBW
hi volti

der Code, wenn ich ihn starte scheint zu funktionieren.
gibt es eine Möglichkeit statt Outlook das am Computer installierte mail Programm anzusprechen ? und mein größtes Problem in Blatt 1 wo der Index aller listen ist und von
wo auch dann nach Auswahl die Bestellung erfolgen soll habe ich Geschäft einen Botton einzufügen er funktioniert nur leider nicht könntest du mir bitte erklären wie ?

@Eifeljoi 5

kannst du mir auch erklären wie ?


Anzeige
AW: E mail senden mit einem Tabellen Blatt VBA
22.09.2024 11:16:46
TomVBW
hi nochmal

danke volti, hab nur beim Code das Wort private gelöscht und nach dem speichern konnte
ich dem Button das Makro zuweisen. das ging davor nicht. sorry ich hab keine Ahnung von vba. Ich finde es aber sehr interessant , hab mir ein Einsteiger buch bestellt. melde mich wieder sollte ich fragen haben.

vielen dank erstmal für deine Hilfe würde dir am liebsten ein Bierchen ausgeben.
lg tom
Anzeige
AW: E mail senden mit einem Tabellen Blatt VBA
22.09.2024 14:26:19
Eifeljoi 5
Hallo

Klar , so schwer ist das doch gar nicht.
a) Öffne die entsprechende Datei.
b) Schaue dann unter Datei => Konto => Verbundene Dienste , ob hier dein OneDrive-Persönlich steht.
c) Wenn c ja dann klicke unter Datei => auf Freigeben und wähle das gewünschte aus und folge den weiteren Schritte.
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige