Registriert seit: 12.04.2014
Version(en): Office 2010/2013
Hallo, durch eure Hilfe wurde ja folgendes Makro erstellt, welches bei Auswahl die festgelegten Tabellenblätter mit nur einem Klick ausdruckt. http://www.clever-excel-forum.de/Thread-...rksolved=1Nun nutze ich aber meistens keinen Papierausdruck, sondern speichere diese per PDF Drucker ab. Man kann die Tabellenbläter auch direkt per "Speichern unter" als PDF in Excel abspeichern. Ist es möglich das als Speichername der des Tabellenblatt verwendet wird? Ist das möglich mit einzubauen? Gruß Daniel
Gruß Daniel Albert
Finanzberater für Baufinanzierungen
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi, warum nicht gleich über VBA die PDF ablegen? so in der Art: xxxxx und Pfad natürlich anpassen! Code: Sheets("xxxxxx").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\temp\" & "RN" & Sheets("xxxxxx").Range("XXXX").value, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=false
lg Chris Feedback nicht vergessen. 3a2920576572206973742064656e20646120736f206e65756769657269672e
Registriert seit: 12.04.2014
Version(en): Office 2010/2013
Ohh ging aber schnell, gerade getestet funktioniert schon einmal. Ich kann doch auch die Pfadabfrage dort integrieren oder ? Denn der Pfad ändert sich des öfteren
Dann muss ich nur noch schauen wie ich es in das andere Makro integrieren kann
Gruß Daniel Albert
Finanzberater für Baufinanzierungen
Registriert seit: 12.04.2014
Version(en): Office 2010/2013
Guten Morgen, habe jetzt versucht mal das bestehende Makro mit dem neuen kombiniert bekomme aber einen Laufzeitfehler 438 :( Code: Sub PDF() Dim k# For k = 22 To 37 If Worksheets("Kunden").Cells(k, 13).Text = "x" Then _ Sheets(Tabelle1.Cells(k, 12).Text).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "F:\Downloads\" & Sheets(Tabelle1.Cells(k, 12).Text), Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Next End Sub
Gruß Daniel Albert
Finanzberater für Baufinanzierungen
Registriert seit: 11.04.2014
Version(en): Office 2007
22.09.2017, 09:11
(Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2017, 09:11 von Steffl.)
Hallo Daniel, ich habe in der Hilfe nach der ExportAsFixedFormat-Methode gesucht, da steht in der Erklärung Zitat:Ausdruck.ExportAsFixedFormat(Type, Filename, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish)
Ausdruck Eine Variable, die ein Range-Objekt darstellt. Du hast aber ein Sheet-Objekt daher dieser Fehler. Versuchs mal so Code: Sub PDF() Dim k As Long For k = 22 To 37 If Worksheets("Kunden").Cells(k, 13).Text = "x" Then _ Sheets(Tabelle1.Cells(k, 12).Text).UsedRange.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "F:\Downloads\" & Sheets(Tabelle1.Cells(k, 12).Text), Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Next End Sub
Gruß Stefan Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28
• Daniel Albert
Registriert seit: 12.04.2014
Version(en): Office 2010/2013
Servus, also er erkennt schon mal das x und setzt die Zeile auch in die Variable aber ich erhalte noch eine Fehlermeldung
Laufzeitfehler 438 Objekt unterstützt diese Eigenschaft oder Methode nicht
Gruß Daniel Albert
Finanzberater für Baufinanzierungen
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Daniel, mit meiner letzten Antwort mit dem nicht passenden Objekt lag ich falsch. Die Methode gibt es auch für das Sheet-Objekt. Welchen Wert hat die Variable K wenn der Fehler auftaucht? Welchen Inhalt hat die Zelle? Und könnte es nicht daran liegen, wie Ralf (RPP63) hier in einem Thread von dir vermutet, dass das Blatt leer ist?
Gruß Stefan Win 10 / Office 2016
Registriert seit: 12.04.2014
Version(en): Office 2010/2013
Guten Morgen,
nein die Tabellen sind voll. Das Problem von damals habe ich schon lösen können. Das damals erstellte Makro um eine Auswahl der zu druckenden Arbeitsblätter zu erleichtern funktioniert einwandfrei. Nur kommt es bei mir auch häufig vor, dass ich diese Arbeitsblätter nicht ausdrucke sondern als PDF ablege. Ich kann zwar einen virtuellen PDF Drucker auswählen, nur wird der Name vom Arbeitsblatt nicht übertragen sondern jedes PDF Dokument hat den gleichen Namen. Somit muss ich diese zuerst einen Zwischennamen geben damit diese nciht überschrieben werden und dann jedes einzeln öffnen schauen welches Arbeitsblatt es ist und dann den Namen vergeben.
Daher dachte ich mir dies mit dem bestehenden Makro quasi aufzubessern.
Ich habe aber einen großen Fehler gemacht. Ich habe zuerst die Frage in den alten Thread gestellt und dann festgestellt, dass diese Frage eigentlich nichts mehr mit dem vorherigen Thema zu tun hat. Nun arbeitest du an dem Problem und im anderen Thread auch welche - BLÖD
Sorry da war ich ein wenig zu schnell. Ich schaue mir das Makro gleich nochmal an und würde dann hier das Urmakro aus dem anderen Thread und mein zusammengebasteltes einfügen
Gruß Daniel
Gruß Daniel Albert
Finanzberater für Baufinanzierungen
Registriert seit: 12.04.2014
Version(en): Office 2010/2013
So hier einmal das Urmakro mit einigen Erweiterungen: Code: Sub Drucken() Call ausblenden_BU Call ausblenden_Arbeitnehmersparzulage Call ausblenden_Wohnungsbauprämie Call ausblenden_Investment Call ausblenden_Du_Soldaten Call ausblenden_Du_Soldaten_1 Call ausblenden_GF Call ausblenden_EU
Dim k# For k = 22 To 37 If Worksheets("Kunden").Cells(k, 13).Text = "x" Then _ Sheets(Tabelle1.Cells(k, 12).Text).PrintOut Next End Sub
Die Makros "ausblenden...." Prüfen in den Arbeitsblättern ob Inhalt vorhanden ist - wenn ja bleibt das Diagramm sichtbar, wenn nicht wird es ausgeblendet, damit auf der Rückseite nicht das Diagramm sichtbar ist wenn keine Daten vorhanden sind. Hier das aktuell was noch nicht funktioniert Code: Sub SaveAsPDF() Dim varFilename As Variant
Dim k As Long For k = 22 To 37 If Worksheets("Kunden").Cells(k, 13).Text = "x" Then _ Sheets (Tabelle1.Cells(k, 12).Text)
varFilename = Application.GetSaveAsFilename( _ InitialFileName:="Meine.pdf", _ FileFilter:="PDF (*.pdf), *.pdf", _ Title:="als PDF speichern")
If varFilename <> False Then ThisWorkbook.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=varFilename End If Next End Sub
Gruß Daniel Albert
Finanzberater für Baufinanzierungen
Registriert seit: 12.04.2014
Version(en): Office 2010/2013
So weiter gehts - Aktueller Stand: Code: Sub SaveAsPDF() Dim varFilename As Variant Dim InitialFileName As Variant
Dim k As Long For k = 22 To 37 If Worksheets("Kunden").Cells(k, 13).Text = "x" Then _ Worksheets("Kunden").Cells(k, 12).Text
InitialFileName = Worksheets("Kunden").Cells(k, 12).Text varFilename = Application.GetSaveAsFilename( _ InitialFileName = Worksheets("Kunden").Cells(k, 12).Text _ & ".pdf") 'FileFilter:="PDF (*.pdf), *.pdf", _ 'Title:="als PDF speichern")
If varFilename <> False Then ThisWorkbook.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=varFilename End If Next End Sub
Folgendes steht in den Variablen: varfilename = Leer Initialfilename = "Rücklagen" k = 22 Es wird der Speicherdialog geöffent aber es steht dort als Speichername "False" Ich verstehe es noch nicht so richtig für was ich varfilename brauche
Gruß Daniel Albert
Finanzberater für Baufinanzierungen
|