(Excel) / 2 Dateien anhängen an Email

jerry0110

Erfahrenes Mitglied
Kann dir nur den kompletten Code per PN schicken. Weil da viele Dinge drin sind, die dem Datenschutz unterliegen.
 

Yaslaw

alter Rempler
Moderator
Ich will auch nicht alles. Aber wo hast du jetzt diese Prüfung eingebaut?

Sorry, langsam ist es mir zu blöde mit verbunden Augen und einem Frage/Antwortspiel die Nadel im Heuhaufen zu finden.

Bring also konkrete Code-Schnipsel, konkrete Aussagen.
 

jerry0110

Erfahrenes Mitglied
Hier mal ein Bespiel:

Code:
Private Sub Datei_speichern()

Dim sOrdner As String
Dim sblattname As String
Dim sFilename As String
Dim mydate As Date
mydate = datum

If ThisWorkbook.Worksheets("_Inbound_Ja").Range("C2").Text = "" Then Exit Sub

sOrdner = "\\abteilungen\Inbound\"
sblattname = Format(mydate, "YYYYMMDD") & "_Inbound_Ja.xls"

sFilename = Application.GetSaveAsFilename _
(sOrdner & sblattname, "Micrsoft Excel-Dateien (*.xls),*.xls")

Worksheets("_Inbound_Ja").Activate
ActiveSheet.Copy
ActiveWorkbook.SaveAs sFilename, FileFormat:=xlNormal
ActiveWorkbook.Close False

End Sub
 

Yaslaw

alter Rempler
Moderator
Das macht wie weiter oben keinen Sinn.
Actives Sheet in aktives Workbook kopieren. WOZU? (hab dich schon mal gefragt).

Jetzt baust du die Prüflogik in meine Exportfunktion ein. Genau so.
Und dann prüfst du, so wie ich es bereits beschrieben habe, beim Anhängen der Attachements ob ein Filepfad vorhanden ist oder nicht.

Versuch bitte meine Beispiel zu verstehen und frag was du nicht verstehst. Aber so liefere ich dir einfach 10 mal die gleichen Lösungen, welche du 10 mal kopierst.
Du kannst das lösen. Du hast alles was du brauchst. Inzwischen hast du auch genügend VBA-Erfahrung.
 

jerry0110

Erfahrenes Mitglied
Naja das mit der Erfahrung würde ich jetzt mal nicht so unterschreiben. Suche mir halt hier im Forum oder wo anders Codes und versuche diese zu verstehen und passe die an. Viele Sachen habe ich schon selber gemacht, weil es für mich dann auch Sinn macht und diese funktionieren dann auch.
Aber jetzt ist das echt zu viel und ich versteh nur noch Bahnhof.

Ich bin immer davon ausgegangen, dass ich nach dem Schema arbeiten muss, dass alles so wie im Ablauf programmiert werden muss.

Das mit dem
Visual Basic:
strBlatt = ActiveSheet.Name
und dem vorherigen Aktiven des Sheets bin ich davon ausgegangen, dass ich erst es aktvieren muss um dann des richtigen Namen in die Variable strBlatt zu speichern.

Sinn für mich macht natürlich, dass ich das mit z. B. ThisWorkbook.... machen soll, damit ich immer klare Anweisungen habe.

Jetzt nach dem 10 mal durchlesen des Threads stelle ich mir die Frage ob ich nicht komplett falsch die Sache aufbaue.
In meinem Script speichere ich doch eh alle Sheets, wenn sie gefüllt sind. Also sind diese schon bei mir auf dem Server gespeichert bzw. abgelegt.
Wenn ich diese Dateien doch schon habe, dann muss ich diese dann nicht noch mal extrahieren wenn ich die Mail erstelle.
Dann macht es doch Sinn diese vom Server zu holen, wenn diese vorhanden ist. Somit habe ich direkt auch die Abfrage (wenn vorhanden dann Mail sonst nicht)

Ich glaube ich schreibe das alles noch mal neu. und versuche es auch ohne ActiveSheet zu machen.
Und um die Frage zu beantworten "Actives Sheet in aktives Workbook kopieren. WOZU?" kann ich dir nicht beantworten.
Es hat funktioniert und ich bin dann auch davon ausgegangen das dies richtig ist.