Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
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

Variable Tabellenblattlänge abspeichern

Variable Tabellenblattlänge abspeichern
16.12.2019 11:52:12
Erdnusskrieger
Guten Tag Excel-Spezis,
folgendes Anliegen habe ich dieses Mal:
Ich möchte zwei Excel-Worksheets abspeichern, welches bisher funktioniert. Mein Problem ist es, dass ich es nur schaffe ein festen Bereich abzuspeichern (siehe mein Quellcode unten A1-H60). Das Worksheet selbst kann zwischen 100-300 Zeilen lang sein und beinhaltet immer die Spalten A-H. Natürlich könnte ich sagen, speicher den genannten Bereich bis Zeile 300 ab. Das möchte ich aber vermeiden, da im PDF selbst dann die Gefahr von leeren Seiten besteht. Ich möchte also nur die relevanten Zeilen abgespeichert haben.
Außerdem, würde ich gerne, wenn möglich, dass das Programm bei einer neu angefangen Seite im PDF, mir die Zellen A6-H7 vom Sheet "Bewertungsbogen" ganz oben hinschreibt. Quasi als Kopfzeile.
Mein Code schaut bislang folgendermaßen aus:

Sub PDF_archivieren()
'Dateiname hinzufügen
Dim Dateiname As String
Dim vntFile As Variant
'Sheet Bewertungsbogen auswählen
Sheets("Bewertungsbogen").Select
'Dateiname im Pfad erstellen: Pfad + Fahrgestellnummer + aktuelles Datum
Dateiname = Range("H2") & "_" & Range("H4")
'Punkte "." im Dateinamen durch Unterstriche "_" ersetzen
Dateiname = Replace(Dateiname, ".", "_", Count:=2)
vntFile = Application.GetSaveAsFilename(Dateiname, _
"PDF Dateien (*.pdf), *.pdf", Title:="Als PDF Speichern")
If vntFile  False Then
Sheets(Array("Prüfanleitung", "Bewertungsbogen")).Select
ActiveSheet.Range("A1:H60").ExportAsFixedFormat _
Type:=xlTypePDF, _
filename:=vntFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
End Sub
Ich hoffe, ich konnte euch mein Anliegen gut beschreiben und hoffe auf eure Hilfe.
Grüße, Erdnuss

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable Tabellenblattlänge abspeichern
16.12.2019 12:32:15
Pierre
Hallo,
probier es mal mit UsedRange
Gruß Pierre
AW: Variable Tabellenblattlänge abspeichern
16.12.2019 12:40:50
Erdnusskrieger
Hallo Pierre,
mit UsedRange konnte ich das Anliegen nicht lösen. Zwar speichert er mir nun alle Zeilen ab, diese sind aber im PDF auf gefühlt 5% skaliert und unlesbar.
Da meine VBA-Kenntnisse ziemlich bescheiden sind, würde ich mich freuen, wenn du deine Ideen als Code schreiben könntest :)
Gruß, Erdnuss
AW: Variable Tabellenblattlänge abspeichern
16.12.2019 12:55:11
Erdnusskrieger
Vllt versuche ich es nochmal genauer zu beschreiben, falls Infos fehlen sollten.
Es sollen die Worksheets "Prüfanleitung" und "Bewertungsbogen" in ein PDF abgespeichert werden.
"Prüfanleitung" sieht immer gleich aus. Hier soll der Bereich A1:H60 abgespeichert werden.
Anschließend soll im selben PDF "Bewertungsbogen" abgespeichert werden. Bei Bewertungsbogen sind immer die Spalten A:H belegt. Jedoch variiert die Anzahl der Zeilen, sprich die Länge/Größe dieses Worksheet.
Sollte es jetzt zu einer neuen Seite kommen, möchte ich das die Zellen A6:H7 auf jedem neu angefangen Blatt, ganz oben steht. Quasi als Kopfzeile.
Gruß, Erwin
Anzeige
AW: Variable Tabellenblattlänge abspeichern
16.12.2019 12:59:38
Pierre
Okay,
da kann ich dir zumindest auf die Schnelle nicht helfen.
Ich stelle offen, damit sich vielleicht nochmal jemand anderes damit befassen kann.
Gruß Pierre
AW: Variable Tabellenblattlänge abspeichern
16.12.2019 15:17:52
Erdnusskrieger
Danke dir vorerst.
Dann hoffe ich mal, dass deine Kollegen mir weiterhelfen können.
Gruß
AW: Variable Tabellenblattlänge abspeichern
16.12.2019 18:19:16
Daniel
Hi
da du zwei Tabellenblätter in das PDF schreiben willst, darfst du an dieser stelle eh keinen Zellbereich angeben, da diese Angabe ja für beide Blätter gilt.
lass die Range-Angabe einfach weg. ActiveSheet.ExportAsFixedFormat
wenn es Zellbereiche gibt, die nicht mit ausgedruckt werden sollen, dann müsstest du dass über das Seite einrichten - Blatt - Druckbereich regeln.
Ebenso kannst du die Zeilen, die sich auf jedem Blatt wiederholen sollen, beim Seite einrichten - Blatt Wiederholungszeilen oben einstellen.
Gruß Daniel
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige