Anzeige
Archiv - Navigation
1628to1632
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

Speichern einer Tabelle durch Button-Klick

Speichern einer Tabelle durch Button-Klick
25.06.2018 14:33:57
Bernd
Hallo,
Ich bitte um Hilfe, denn ich muss folgendes Problem lösen, weiß aber nicht, wie:
Ich benötige auf dem Tabellenblatt einen Button, mit dem man eine sich ebenfalls dort befindliche Tabelle als .pdf-Datei abspeichern kann.
Die Tabelle befindet sich auf der gleichen Tabellenseite, wie der Button.
Sie besteht aus der Überschrift (im Namensmanager "Kopf" genannt) und der eigentlichen Tabelle (im Namensmanager "Tabelle" genannt).
Als pdf gespeichert werden soll nur der in der Mustertabelle umrandete Bereich.
Der Tabellenbereich kann von Tabelle zu Tabelle zeilen- und spaltenmäßig variieren.
Der Name der .pdf-Datei soll aus dem Inhalt der 1. Zeile des gebildet werden.
Eine Mustertabelle kann man hier herunterladen:
https://www.herber.de/bbs/user/122305.xlsm
Danke schon im Voraus für eure Hilfe
Bernd

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern einer Tabelle durch Button-Klick
26.06.2018 11:39:18
fcs
Hallo Bernd,
hier entsprechende Makros. Es richtet im Blatt die Druckbereich im Seitenlaout entsprechend ein.
Es ist aber "einfacher" wenn die Schaltfläche aus den Formular-Steuerelementen verwendest.
Dann musst du nicht in jedem Tabellenblatt das Makro für die Schaltfläche anlegen.
Du weist der Schaltfläche einmal das Makro zu und kannst dann die Schaltfläche in die anderen Blätter kopieren.
Als Verzeichnis für das Speichern der PDF wird das Verzeichnis der Exceldatei verwendet. Dies muss evtl anpassen und der Variablen strPfad entsprechend ein Verzeichnis zuweisen.
Gruß
Franz
'Code in einem allgemeinen Modul der Datei
Option Explicit
'Dieses Makro per Schaltfläche starten
Public Sub PDF_AktivesBlatt()
Call prcMake_PDF(wks:=ActiveSheet)
End Sub
Public Sub prcMake_PDF(wks As Worksheet)
Dim strDatei As String
Dim strPfad As String
strPfad = ActiveWorkbook.Path
If strPfad = "" Then
MsgBox "Diese Datei muss erst gespeichert werden, damit der Pfad für die PDF-Datei  _
ermittelt werden kann!", vbOKOnly, "Tabelle als PDF-Speichen"
Else
strPfad = strPfad & "\"
strDatei = wks.Cells(1, 1).Text
With wks
.PageSetup.PrintTitleRows = .Range("Kopf").EntireRow.Address
.PageSetup.PrintArea = wks.Range("Tabelle").Address
.ExportAsFixedFormat xlTypePDF, Filename:=strPfad & strDatei & ".pdf", _
ignoreprintareas:=False, OpenafterPublish:=True
End With
End If
End Sub

Anzeige
AW: Speichern einer Tabelle durch Button-Klick
29.06.2018 09:26:26
Bernd
Hallo Franz,
Dank für Deine Antwort.
Ich komme aber nicht so richtig damit zurecht:
Wenn ich das Makro PDF_AktivesBlatt() starte (Sub/User Form ausführen), kommt es zum Fehler:
Userbild
Was mache ich da falsch?
Gruß
Bernd
AW: Speichern einer Tabelle durch Button-Klick
29.06.2018 16:01:40
fcs
Hallo Bernd,
da hatte ich beim Einfügen des Codes in die Antwort nicht bemerkt, dass die Forumssoftware noch einen Zeilenumbruch im Text der MsgBox eingefügt hatte.
ändere die folgenden Zeilen:
     MsgBox "Diese Datei muss erst gespeichert werden, damit der Pfad für die PDF-Datei " _
& "ermittelt werden kann!", vbOKOnly, "Tabelle als PDF-Speichen"
Gruß
Franz
Anzeige
AW: Speichern einer Tabelle durch Button-Klick
30.06.2018 07:47:07
Bernd
Hallo Franz,
Danke, das hätte ich allein nie hinbekommen!
Viele Grüße
Bernd
AW: Speichern einer Tabelle durch Button-Klick
30.06.2018 08:31:33
Bernd
Nochmals Hallo,
Ich muss dich doch noch einmal behelligen.
Mir ist gerade aufgefallen, dass es ein Problem gibt, wenn die zu erstellende pdf-Datei schon im Pfad vorhanden ist.
Siehst Du eine Möglichkeit, den Dateinamen der zuletzt gespeicherten Datei "Teil1 2018.pdf" noch mit einem Zähler zu versehen?
Die aktuell abzuspeichernde Datei bekommt immer den (hier im Beispiel)Namen "Teil1 2018.pdf".
Die zuletzt abgespeicherte Datei wird in "Teil1 2018-01.pdf" umbenannt, wenn diese schon vorhanden sein sollte, bekommt sie den Namen "Teil1 2018-02.pdf" oder so weiter.
Ich meine: Wenn die pdf-Datei schon 4x vorhanden sein sollte, also "...2018.pdf" sowie "...2018-01.pdf" bis "...2018-03.pdf), dann wird aus der "...2018.pdf" die "...2018-04.pdf" und die aktuelle Speicherung wird wieder "...2018.pdf" ohne Zähler.
Ich weiß nicht, wie ich es richtig beschreiben soll, hoffentlich verstehst Du mich.
Das zweite Problem ist folgendes:
Nach dem Erstellen öffnet sich automatisch Acrobat (oder Acrobat Reader) und zeigt die erstellte Datei an. Vor dem Neuerstellen der Datei sollte die angezeigte Datei zwangsweise geschlossen werden, damit es zu keiner Fehlermeldung kommt.
Ob Du mir hierbei bitte auch helfen kannst?
Das Programm soll wenn es fertig ist, von Personen (bei uns im Verein) ohne große PC-Kenntnisse bedient werden können, deshalb der Aufwand.
Deshalb
Viele Grüße
Bernd
Anzeige
AW: Speichern einer Tabelle durch Button-Klick
01.07.2018 08:06:44
Bernd
Nochmals Hallo,
Ich muss dich doch noch einmal behelligen.
Mir ist gerade aufgefallen, dass es ein Problem gibt, wenn die zu erstellende pdf-Datei schon im Pfad vorhanden ist.
Siehst Du eine Möglichkeit, den Dateinamen der zuletzt gespeicherten Datei "Teil1 2018.pdf" noch mit einem Zähler zu versehen?
Die aktuell abzuspeichernde Datei bekommt immer den (hier im Beispiel)Namen "Teil1 2018.pdf".
Die zuletzt abgespeicherte Datei wird in "Teil1 2018-01.pdf" umbenannt, wenn diese schon vorhanden sein sollte, bekommt sie den Namen "Teil1 2018-02.pdf" oder so weiter.
Ich meine: Wenn die pdf-Datei schon 4x vorhanden sein sollte, also "...2018.pdf" sowie "...2018-01.pdf" bis "...2018-03.pdf), dann wird aus der "...2018.pdf" die "...2018-04.pdf" und die aktuelle Speicherung wird wieder "...2018.pdf" ohne Zähler.
Ich weiß nicht, wie ich es richtig beschreiben soll, hoffentlich verstehst Du mich.
Das zweite Problem ist folgendes:
Nach dem Erstellen öffnet sich automatisch Acrobat (oder Acrobat Reader) und zeigt die erstellte Datei an. Vor dem Neuerstellen der Datei sollte die angezeigte Datei zwangsweise geschlossen werden, damit es zu keiner Fehlermeldung kommt.
Ob Du mir hierbei bitte auch helfen kannst?
Das Programm soll wenn es fertig ist, von Personen (bei uns im Verein) ohne große PC-Kenntnisse bedient werden können, deshalb der Aufwand.
Deshalb
Viele Grüße
Bernd
Anzeige
AW: Speichern einer Tabelle durch Button-Klick
01.07.2018 11:59:14
fcs
Hallo Bernd,
das Umsetzen deiner Wunschliste war jetzt etwas komplizierter.
Die Nummerierung älterer Versionen des PDF hab ich jetzt so umgesetzt dass
1. falls vorhanden die Version ohne Nr, in Version "-00" umbenannt wird
2. falls vorhanden Versionen mit Version &gt "-04" gelöscht werden
3. die Version der vorhandenen Dateien um 1 erhöht werden - beginnend mit der ältesten Version.
4. die neue PDF-Datei exportiert wird
Das Schliessen einer im PDF-Viewer (z.B. Acrobat Reader) geöffneten Datei läßt sich per VBA-Makro nicht so ohne weiteres umsetzen - zumindest nicht mit meinen Kenntnissen.
Ich hab es jetzt so umgesetzt, dass der Anwender falls erforderlich einen Hinweis bekommt, dass die PDF-Datei geschlossen werden muss bevor das Makro weiter ausgeführt werden kann.
Falls du die erzeugte PDF-Datei nicht unbedingt anzeigen willst/musst, dann kann man das auch so steuern.
Im Makro "PDF_AktivesBlatt" muss hierzu nur der Parameter für die Anzeige von True in False geändert werden.
Gruß
Franz
Text-Datei mit erweiterten Makros
https://www.herber.de/bbs/user/122415.txt
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige