Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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
als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 15:03:41
Olaf Philipp
Hallo,

ich stehe gerade mal wieder vor einem Problem, welches ich nicht gelöst bekomme.
Ich versuche NUR mit Userformen zu arbeiten, sodass meine Kollegen nie die Exceldatei tatsächlich zu Gesicht bekommen. Zum Drucken habe ich bereits folgenden Code:

Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
With Sheets("Urlaubsantrag")
.Visible = True
.PrintOut
.Visible = False
End With
Application.ScreenUpdating = True
Sheets("Urlaubsantrag").Range("B4:DX195").PrintOut
End Sub

Nun möchte ich natürlich auch die Gelegenheit geben, dass Sie sich diese Datei als "PDF" abspeichen können. Aus dem Tabellenblatt heraus ist das kein Problem, nur wie geht dies ohne "aktiven" Tabellenblatt wie beim Drucken?
Diese Vorgabe habe ich ....
Sheets("Urlaubsantrag").Range("B4:DX195").ExportAsFixedFormat xlTypePDF, Filename:="C:\DB\Urlaub\" & Range("BN12").Value & ".pdf", OpenAfterPublish:=True

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 15:19:52
onur
"Diese Vorgabe habe ich .... " - dann nimm doch diesen Code.
als PDF Drucken ohne Tabellenblatt zu aktivieren
12.09.2023 02:45:26
Oberschlumpf
Hi Olaf,

versuch es so:


Private Sub CommandButton4_Click()

Application.ScreenUpdating = False

With Sheets("Urlaubsantrag")
.Visible = True
.PrintOut
.Range("B4:DX195").ExportAsFixedFormat xlTypePDF, Filename:="C:\DB\Urlaub\" & Range("BN12").Value & ".pdf", OpenAfterPublish:=True
.Visible = False
End With

Application.ScreenUpdating = True

End Sub


Dein bisheriger Code enthält 1x definitiv einen Fehler und 1x vielleicht einen weiteren Fehler

definitiv-Fehler (hat Onur auch nich gesehn^^)
.Visible muss True sein, wenn das Blatt, dass nicht das aktive sein muss, als PDF gespeichert werden soll

vielleicht-Fehler (Onur hat deinen Code nur theoretisch...also gar nicht getestet; sonst wär's ihm aufgefallen, dann hätte er dir das mitgeteilt)
dein "Dateiname.pdf" bildet sich einfach nur aus

Pfad & Range("BN12").Value & ".pdf"

der Code setzt so voraus, dass in dem Blatt, dass während Code-Ausführung angezeigt wird, in Zelle BN12 ein Eintrag enthalten sein muss!
auf Nummer sicher würd zumindest ich diesen Code...
Range("BN12").Value

...ändern in...
Sheets("BLATTNAME").Range("BN12").Value

...anstelle von BLATTNAME = der Blattname, in dem in Zelle BN12 der Dateiname für PDF-Datei steht.

Funktionierts? Sollte es eigtl, denn bei mir funktionierts.

Ciao
Thorsten
Anzeige
als PDF Drucken ohne Tabellenblatt zu aktivieren
12.09.2023 09:50:15
Olaf Philipp
Hallo Thorsten,
Danke für deine ausführliche Antwort und den umgestellten Code. Jetzt sehe ich meinen Fehler, ich hätte den ExportAsFixedFormat direkt unter den Printout setzen müssen. So ist das manchmal, wenn man zu lange am Rechner sitzt und den Wald vor lauter Bäumen nicht mehr sieht. Nochmals Danke für die Mühen.
Gruß Olaf
als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 15:25:11
Olaf Philipp
Leider druckt er mir das Tabellenblatt NUR aus. Ich möchte diese jedoch als PDF SPEICHERN.
AW: als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 15:28:14
onur
DU schriebst doch:
Diese Vorgabe habe ich ....
Sheets("Urlaubsantrag").Range("B4:DX195").ExportAsFixedFormat xlTypePDF, Filename:="C:\DB\Urlaub\" & Range("BN12").Value & ".pdf", OpenAfterPublish:=True

ICH schrieb: "Dann nimm doch diese Vorgabe" (den unteren Code).
Anzeige
als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 15:32:38
Olaf Philipp
Ich habe Ihn genauso ersetzt, aber irgendwas fehlt. Er nimmt nur das Printout und druckt ohne zu speichern.

Private Sub CommandButton4_Click()
Application.ScreenUpdating = False
With Sheets("Urlaubsantrag")
.Visible = True
.PrintOut
.Visible = False
End With
Application.ScreenUpdating = True
Sheets("Urlaubsantrag").Range("B4:DX195").ExportAsFixedFormat xlTypePDF, Filename:="C:\DB\Urlaub\" & Range("BN12").Value & ".pdf", OpenAfterPublish:=True
End Sub
AW: als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 15:35:20
onur
" Er nimmt nur das Printout" ??? Da ist doch gar KEIN Printout.
Anzeige
als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 15:39:51
Olaf Philipp
Leider ja, er druckt nur. Es kommt dann zusätzlich immer "Laufzeitfehler '5' Ungültiger Prozeduraufruf oder ungültiges Argument" mit Verweis auf die letzte Zeile
als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 15:52:06
Olaf Philipp
Hallo Onur,

ich habe DEINEN Beitrag daraus schon gelesen. Bei diesen geht es darum aus einem AKTIVEN Sheet (aus einem Makro heraus) zu drucken, speichern etc.
Ich möchte das Ganze ohne aktiven Sheet, daher die Prozedur mit

Application.ScreenUpdating = False

With Sheets("Urlaubsantrag")
.Visible = True
.PrintOut
.Visible = False
End With
Application.ScreenUpdating = True
Anzeige
AW: als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 16:13:55
onur
Gelesen vielleicht, aber offenbar höchstens nur überflogen und nicht kapiert !
Wenn es um das AKTIVE Blatt ginge, würde da am Anfang ActiveSheet stehen.
Wenn aber da am Anfang steht Sheets("Urlaubsantrag"), dann gilt alles was kommt, explizit für DIESES BENANNTE Blatt, egal welches Blatt aktiv ist oder nicht.
als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 16:20:11
Olaf Philipp
Ok, leider hilft hier alles nichts. Es funktioniert leider immer noch nicht.....
AW: als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 16:28:29
onur
Dann poste mal die Datei.
als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 16:35:58
Olaf Philipp
Sorry, diese ist leider zuuuuuu groß und unübersichtlich.....
Aus diesem Code zum Drucken eines Bereiches eines Tabellenblattes
Private Sub CommandButton3_Click()

Application.ScreenUpdating = False
With Sheets("Urlaubsantrag")
.Visible = True
.PrintOut
.Visible = False
End With
Application.ScreenUpdating = True
Sheets("Urlaubsantrag").Range("B4:DX195").PrintOut
End Sub


Soll wenn möglich direkt integriert oder auch einzeln per neuem CommandButton als .pdf gespeichert werden.
Dankeschön

PS.: auch ohne der letzten Zeile
Sheets("Urlaubsantrag").Range("B4:DX195").PrintOut

funktioniert der Ausdruck
Gruß Olaf
Anzeige
AW: als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 16:38:12
onur
Wenn du es IDIOTENSICHER haben willst, musst du schon was posten, da du ja nicht in der Lage bist, schriftliche Hilfe umzusetzen.
als PDF Drucken ohne Tabellenblatt zu aktivieren
11.09.2023 16:41:27
Olaf Philipp
Hallo Onur,
Danke für Deinen Beitrag!

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige