284 Aufrufe
Gefragt in Tabellenkalkulation von colatrinker1 Einsteiger_in (33 Punkte)

Hallo Zusammen :-),

Das Ziel:

Es soll nur das Tabellenblatt "Filiale" (von drei unterschiedlichen Benutzern) als Anhang per e-mail (Outlock) als xls-Datei versendet werden. Aber:

- die Ziel-Datei soll keine Formel, sondern nur Werte enthalten

- die Ziel-Datei soll die Formatierung der Quell-Datei beibehalten (Querformat; Zentrierung horizontal, alle Spalten auf 1 Seite, Gitterlinien drucken, oberste Zeile fixieren, Wiederholungszeile: oberste Zeile)

- die Quell-Datei hat bedingte Farb-Formatierungen die in der Ziel-Datei beibehalten werden sollen (Spalte L + N + O)

- die Quelldatei soll unverändert bleiben.

Hier ist meine Datei: https://transfernow.net/218mr015s7eo

Ich hoffe, ich habe keine Infos für mein "Wunsch-Makro" vergessen.

LG, Inga

4 Antworten

+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)
ausgewählt von colatrinker1
 
Beste Antwort
Hi Inga,

kopiere das Tabellenblatt, damit eine neue Mappe erstellt wird. Markiere in der neu erstellten Mappe den gesamten Bereich mit Daten/Formeln -> Str+C -> Einfügen -> Inhalte einfügen -> Werte und speichere die Mappe dann im Format xls. Diese Mappe hängst du dann an die Mail.

Bis später, Karin
0 Punkte
Beantwortet von

Hallo Karin,

vielen Dank für Deine Hilfe. Ich stand wohl irgendwie auf dem Schlauch.

Das Inhalte Einfügen -> Werte hat geklappt. Die Formatierungen sind so wie sie sein sollen. Prima :-).

Was nicht klappt, ist der Mailversand des einzelnen Tabellenblatts. In der gesamten Arbeitsmappe befinden sich (inkl. des kopierten Tabellenblatts) 4 Blätter. 

Nun habe ich dieses Makro gefunden um das einzelne Blatt versenden zu können, allerdings gehen die ursprünglichen (nur die bedingten!?) Formatierungen verloren.

Sub Mail ()
   Dim Nachricht As Object, OutApp As Object
   Set OutApp = CreateObject("Outlook.Application")
   Dim AWS As String, wksMail As Worksheet
   Set wksMail = Sheets(1) 'zu versendendes Blatt
   AWS = Environ("USERPROFILE") & "\" & wksMail.Name & ".xlsx"
  
   'temporäre Mappe erstellen
   wksMail.Copy
   With ActiveWorkbook
     .SaveAs AWS
     .Close
   End With
  
   Application.Visible = True
   Set Nachricht = OutApp.CreateItem(0)
   With Nachricht
     .To = "@.de"
     .Cc = ""
     .Subject = "Bitte ergänzen " & Date & Time
     .Attachments.Add AWS
     .Body = "Anbei Daten" & vbCrLf & ""
     .Display
   End With
   Set OutApp = Nothing
   Set Nachricht = Nothing
   Kill AWS 'temporäre Mappe löschen
End Sub

Weiß jemand Rat?

LG, Inga

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi Inga,

lade doch mal eine Beispielmappe hoch.

Bis später, Karin
0 Punkte
Beantwortet von colatrinker1 Einsteiger_in (33 Punkte)
Hallo Karin,

vielen Dank für Deine Hilfe.

Inzwischen konnte ich den Fehler finden. Der Bezug der formatierten Bedingung musste verändert werden. Jetzt funktioniert es super. Ohne Deine Ideen wäre ich nicht darauf gekommen.

LG, Inga
...