Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wie kann ich eine Tabelle aus Blatt 2 über ein Makro, welches unter Blatt 1 laufen muss, als .pdf speichern?

Wie kann ich eine Tabelle aus Blatt 2 über ein Makro, welches unter Blatt 1 laufen muss, als .pdf speichern?
01.02.2020 18:52:32
Stéphane
Hallo zusammen
Ich habe in einem WB 2 Blätter (Blatt1 und Blatt2). Unter Blatt1 gibt es ein Erfassungsformular und ein Makro Button. Dieser bewirkt, dass die eingegebenen Daten aus Blatt 1 in ein Formular unter Blatt 2 eingetragen und ausgedruckt werden.
Der Übertrag, die Löschung der Daten aus dem Quellformular sowie der Ausdruck funktioniert gut.
Im selben Makro habe ich auch eine Zeile eingefügt, welches das Formular aus Blatt 2 per .pdf in ein bestimmtes Verzeichnis unter C: speichen soll. Die Erstellung und Speicherung .pdf Dokuments klappt aber leider nimmt es mir immer einen Bildschirmausdruck von Blatt 1. Ich habe es versucht, mit activate ws 2 ... aber das funktioniert nicht.
Wie kann ich eine Tabelle aus Blatt 2 über ein Makro, welches unter Blatt 1 laufen muss, als .pdf speichern?
Wiedermal besten Dank für Eure HIlfe
Stéphane
Userbild
https://www.herber.de/bbs/user/134910.xlsm
AW: Wie kann ich eine Tabelle aus Blatt 2 über ein Makro, welches unter Blatt 1 laufen muss, als .pdf speichern?
01.02.2020 20:25:07
AlterDresdner
Hallo Stephane,
mit der Anweisung
ws.ExportAsFixedFormat....
exportierst Du das Blatt, das mit dem Objekt ws gemeint ist, also "Erfassungsformular".
Wenn Du ein anderes Blatt brauchst: Sheets("xyz").exportas...
Gruß der AlteDresdner
AW: Wie kann ich eine Tabelle aus Blatt 2 über ein Makro, welches unter Blatt 1 laufen muss, als .pdf speichern?
02.02.2020 09:43:36
Stéphane
Guten Morgen AlteDresdner; Danke für die prompte Hilfe. Leider ist mir VBA noch so fremd, dass ich nicht weiss, wie und wo ich diesen Befehl in meinem Makro einbaue. Im Anhang findest Du mein Makro; könntest Du mir einen Hinweis geben, wo ich diese Zeile einsetzen muss?
Mein Ziel ist es; ein Formular, welches im Blatt2 "Druckerfassungsformular C1:P60" sitzt und über die Eingabe aus Blatt1 "Erfassungsformular" per Makro "befüllt" und "ausgedruckt" wird (das funktioniert),
dass das "Druckerfassungsformular C1:P60 als .pdf Datei unter dem vorgegebenen Pfad und Namen erstelt und gespeichert wird.
Wie kann ich nun "ws.ExportAsFixedFormat...." verwenden?
Dank nochmals für Deine Unterstützung.
Stéphane
Anzeige
welcher Anhang, welches Makro? o.w.T.
02.02.2020 09:53:35
Werner
AW: Wie kann ich eine Tabelle aus Blatt 2 über ein Makro, welches unter Blatt 1 laufen muss, als .pdf speichern?
02.02.2020 11:33:58
Werner
Hallo,
ich habe deinen Anhang jetzt gefunden und mir den Code mal angeschaut.
Sorry aber das ist meiner Meinung nach ein ziemliches Durcheinander.
Du hast beispielsweise eine Variable obj_ws_Quelle die du mit Set am Anfang befüllst, dann aber im laufenden Code irgendwo mit Set dann ein anderes Blatt zuweist. Da verliert man doch total den Überblick welches Blatt jetzt eigentlich gemeint ist.
In irgendeinem Kommentar im Code schreibst du dann noch was von einem "Cockpit". Sprichst du da von einem Blatt mit dem Namen "Cockpit"? Das finde ich aber im kompletten Code sonst nirgendwo.
Also bitte mal den Ablauf des Makros beschreiben:
Klick auf den Button und dann was der Reihe nach passieren soll. Bitte aber mit den richtigen Blattnamen, nach dem Muster.
1. Daten vom Blatt "ERFASSUNGSBOGEN" ins Blatt "KLIENTENDATENBANK" übertragen
2. Blatt "XXX" ausdrucken
3. Blatt "XXX" als PDF speichern
usw.
Und dann noch die Frage, in welchem Blatt und wo dort steht der Pfad und der Dateiname für das Speichern als PDF?
Gruß Werner
Anzeige
AW: Wie kann ich eine Tabelle aus Blatt 2 über ein Makro, welches unter Blatt 1 laufen muss, als .pdf speichern?
02.02.2020 17:49:58
Stéphane
Hallo Werner, Danke für Deinen Hinweis - ich hänge Dir ein Excel-Blatt mit dem Ablauf des Makros an und hoffe, dass Du mir weiterhelfen kannst. Besten Dank.
https://www.herber.de/bbs/user/134935.xlsx
AW: Wie kann ich eine Tabelle aus Blatt 2 über ein Makro, welches unter Blatt 1 laufen muss, als .pdf speichern?
02.02.2020 21:19:41
Werner
Hallo,
teste mal:
Option Explicit
Sub UEBERTRAG_DATEN_NEUAUFNAHME_IN_TABELLE()
Dim ws_Quelle As Worksheet, lng_letzte_zeile As Long, i As Long
Set wsQuelle = ThisWorkbook.Worksheets("ERFASSUNGSFORMULAR")
Application.ScreenUpdating = False
'Daten aus ERFASSUNGSFORMULAR in KLIENTENDATENBANK eintragen
With ThisWorkbook.Worksheets("KLIENTENDATENBANK")
lng_letzte_zeile = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
For i = 2 To 10
.Cells(lng_letzte_zeile, i) = ws_Quelle.Cells(51, i + 2)
Next i
.Cells(lng_letzte_zeile, 9) = ws_Quelle.Cells(51, 59)
.Cells(lng_letzte_zeile, 10) = ws_Quelle.Cells(51, 60)
For i = 11 To 33
.Cells(lng_letzte_zeile, i) = ws_Quelle.Cells(51, i)
Next i
.Cells(lng_letzte_zeile, 63) = ws_Quelle.Cells(51, 58)
.Cells(lng_letzte_zeile, 35) = ws_Quelle.Cells(51, 34)
.Cells(lng_letzte_zeile, 36) = ws_Quelle.Cells(51, 35)
.Cells(lng_letzte_zeile, 37) = ws_Quelle.Cells(53, 34)
.Cells(lng_letzte_zeile, 38) = ws_Quelle.Cells(53, 35)
For i = 39 To 42
.Cells(lng_letzte_zeile, 39) = ws_Quelle.Cells(51, i - 3)
Next i
For i = 44 To 62
.Cells(lng_letzte_zeile, 44) = ws_Quelle.Cells(51, i - 4)
Next i
'Daten aus ERFASSUNGSFORMULAR in KLIENTENDATENBANK eintragen
.Cells(lng_letzte_zeile + 2, 2) = ws_Quelle.Cells(51, 5)
.Cells(lng_letzte_zeile + 2, 3) = ws_Quelle.Cells(51, 33)
.Cells(lng_letzte_zeile + 2, 21) = ws_Quelle.Cells(51, 2)
End With
'DRUCKERFASSUNGSFORMULAR ausdrucken
With ThisWorkbook.Worksheets("DRUCKERFASSUNGSFORMULAR")
.PageSetup.PrintArea = "$c$1:$p$60"
.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
.ExportAsFixedFormat xlTypePDF, Worksheets("Cockpit").Range("F52").Text _
& "\" & Worksheets("Cockpit").Range("F53").Text
End With
'ERFASSUNGSFORMULAR leeren
With ThisWorkbook.Worksheets("ERFASSUNGSFORMULAR")
.Unprotect
Union(.Range("L15,N13:P13,N15:P15,N19:P19,N21:P21,R7:T7,R9:T9,R13:W13," _
& "R15:W15,T19,T21,T23,T25,D1,H3,D7:F7,D9:F9,D13:F13,D15:F15,D19," _
& "D21,D23,D25,D27,D29,B33:P36,H13,H15,H19,H21,H23,H25"), .Range("H27,H29," _
& "J7,J9,J19:L19,J21:L21,J23:L23,J25:L25,J27:L27,J29:L29,L7,L9,L13")).ClearContents
.Range("H3").Select
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Set ws_Quelle = Nothing
End Sub
Beim Schreiben der Daten habe ich durch Schleifen den Code etwas eingekürzt.
Unklar ist mir allerdings weshalb du beim Leeren vom Blatt "Erfassungsformular" den Blattschutz aufhebst und wieder setzt. Wenn du nur die Zellen leerst, in denen du vorher die Daten eingegeben hast, dann können die ja nicht gesperrt sein, sonst hättest du da ja auch keine Daten eingeben können. Also ist mir unklar weshalb du den Blattschutz raus nimmst und dann wieder rein machst.
Gruß Werner
Anzeige
AW: Wie kann ich eine Tabelle aus Blatt 2 über ein Makro, welches unter Blatt 1 laufen muss, als .pdf speichern?
03.02.2020 15:42:10
Stéphane
Hallo Werner, lieben Dank es hat geklappt - und so aufgeräumt :-) und übersichtlich, dass kann halt nur der Profi. Stéphane
Gerne und Danke für die Rückmeldung, aber....
03.02.2020 15:56:16
Werner
Hallo,
...vom Profi bin ich dann doch noch ein ganzes Stück entfernt.
Gruß Werner
noch was
02.02.2020 22:26:36
Werner
Hallo,
hier ist die Variable falsch geschrieben
Set wsQuelle = ThisWorkbook.Worksheets("ERFASSUNGSFORMULAR")

Da fehlt der Unterstrich.
Für das Umschreiben des Codes habe ich deine Messageboxen raus geschmissen. Die mußt du dir halt wieder einbauen.
Gruß Werner

38 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige