Moin, ich wollte mir gerne mein Leben etwas leichter machen, indem ich mir einen Makro bastle, der den Dateinamen, wenn ich in Excel ein Blatt als PDF speichere, automatisch aus einer bestimmten Zelle bezieht. Nun hab ich gar keine Ahnung von Makros und auch schon versucht, ein paar Varianten, die ich durchs Googlen gefunden habe, in copy + paste Manier anzuwenden, aber bisher hat es noch nicht geklappt...
Die Situation sieht so aus:
Ich habe eine Excel-Datei, wovon das zweite Blatt (von zweien) eine Rechnung ist, welche ich immer wieder neu als PDF abspeichere, um eine Rechnung abzuspeichern und natürlich als Dateinamen dann die Rechnungsnummer eingebe. Nun befindet sich die Rechnungsnummer in Zelle "D20" des zweiten Blattes und müsste ja eigentlich ganz gut zu übernehmen sein. Hab nur keine Ahnung wie.
Kleines Bespiel: Zelle "D20" beinhaltet "A20180001", so einfach, so gut. Optimal wäre natürlich, wenn der Rechnungsnummer noch die Kennzeichnung als Rechnung vorgeschaltet wäre, sowas wie "Rechnung-", sodass am ende der Name der Datei automatisch "Rechnung-A20180001" wäre, wenn ich sie abspeichern will.
das Makro ist einfach.. nur solltest du eine Bsp. Datei bereitstellen und auch einen Dateipfad benennen wo die Rechnungen abgespeichert werden sollen...
Okay, also die Datei könnte ich jetzt aus datenschutzrechtlichen Gründen leider nicht hochladen und den Pfad bekäme ich denke ich auch noch hin, sowas wie /Users/xzy/123/blabla/01 halt. Ach ja, ist für Mac, das vergaß ich zu erwähnen!
So in etwa sähe die Datei aus... Falls möglich, wäre es natürlich auch noch einfacher, wenn beim Speichern als PDF direkt die Option nur "Blatt" ausgewählt wäre. Ist sowas möglich?
so .. Es wird ein Ordner mit "Rechnungen" angelegt im Dateiverzeichnis der Exceldatei!, da du mir den Pfad nicht nennen kannst und dann das Tabellenblatt 1 darin gespeichert wie gewünscht!
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen. Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
23.12.2018, 06:58 (Dieser Beitrag wurde zuletzt bearbeitet: 28.12.2018, 19:14 von schauan.)
Hallöchen,
da es sich nicht um eine umfangreiches Programmieraufgabe handelt, hier mal eine Antwort ohne Beispieldatei. Hat sicher auch den einen oder anderen Vorteil, siehe unten.
1. Zeichne die Speicherung als pdf auf. Du erhältst im Prinzip das:
Code:
Sub Makro1() ' ' Makro1 Makro '
' ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "G:\Test\Mappe1.pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _ True, IgnorePrintAreas:=False, OpenAfterPublish:=True End Sub
2. Ersetze den Dateinamen durch die Zelle, im Prinzip so:
Code:
Sub Makro1() ' ' Makro1 Makro '
' ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ Range("A1").Value, Quality:=xlQualityStandard, IncludeDocProperties:= _ True, IgnorePrintAreas:=False, OpenAfterPublish:=True End Sub
Hinweise:
Wenn bei Makroausführung das Blatt mit der Zelle für den Dateinamen nicht das aktive ist, musst Du den Blattname dazuschreiben Sheets("Tabelle1").Range("A1").Value
Wenn in der Zelle nur der Dateiname steht und nicht das Verzeichnis und Du ein anderes als das aktive Verzeichnis willst, musst Du das auch noch zusammensetzen: "G:\Test\" & Sheets("Tabelle1").Range("A1").Value
Die Frage nach dem aktiven Blatt erledigt sich von selbst, siehe Code. Experimentiere einfach mal mit ActiveSheet, Sheets("xyz"), ActiveWorkbook ...
mögliche Vorteile:
Eine Lösung / ein Ansatz ist sofort im Thread ersichtlich
Der Fragesteller braucht keine Datei hochladen
Eine Suchender braucht keine Datei herunterladen
Es ist keine xlsm im Spiel, die ja dem einen oder anderen zu unsicher ist
Ein Lösungsansatz kann allgemeiner formuliert werden und könnte dadurch mehr Suchenden helfen
Der Fragesteller ist eventuell angehalten, sich intensiver mit Excel und VBA auseinander zu setzen und ggf. Änderungen und Anpassungen selbst vorzunehmen
(dadurch gibt's für den einen oder anderen vielleicht auch einen größeren Lernerfolg)
...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
dass unsere Meinungen, was das Hochladen von Dateien anbelangt, sehr konträr sind, haben wir ja schon persönlich diskutiert. Deshalb möchte ich dein Statement pro Verzicht auf Dateien nicht unkommentiert stehen lassen.
Zitat:Eine Lösung / ein Ansatz ist sofort im Thread ersichtlich
Mit einer Datei genauso gut wie ohne
Zitat:Der Fragesteller braucht keine Datei hochladen
… und der Helfende kann sich durch einen Wust an Erklärungen durcharbeiten, bis irgendwann nach der zwanzigsten Nachfrage klar wird, was eigentlich gewünscht ist. Und dann darf sich der Helfende, um seine Ideen oder Vorschläge zu testen, eine eigene Datei nach den Angaben des TE nachbauen, um eventuell hinterher lesen zu müssen: nein, nein, meine Datei sieht anders aus – das geht nicht. Aber vllt. bringen die Weihnachtswichtel morgen die schon lange ersehnte neue Kristallkugel. ?
Zitat:Eine Suchender braucht keine Datei herunterladen
Da der überwiegende Teil der Suchenden eh halbe Experten sind, kommen sie natürlich mit den oft abenteuerlichen Problembeschreibungen und den exzellenten (Teil)Antworten, die in der Regel sehr konjunktivbelastet sind, sofort klar und können sich die schwere Arbeit eines Downloads sparen. Ich frag mich eigentlich nur, warum auf den meisten Hilfeseiten visuelle Hilfsmittel zu sehen zu sehen sind und warum so irrsinnig viele Ratgeber auf Videoclips und/oder herunterladbare Beispieldateien (stellvertretende Beispiele für Abertausende: Andreas Thehos, Martin Weiß) Wert legen. Vllt. weil sie die weniger versierten Exceluser erreichen wollen?
Zitat:Es ist keine xlsm im Spiel, die ja dem einen oder anderen zu unsicher ist
Dateien und Code können durchaus getrennt gepostet werden.
Zitat:Ein Lösungsansatz kann allgemeiner formuliert werden und könnte dadurch mehr Suchenden helfen
… und könnte natürlich dazu dienen, die mit wenigen Beiträgen versehene Threads etwas zu pimpen. Zehn oder zwanzig Nachfragen, weil das „Allgemeine“ nicht wirklich hilfreich ist, machen halt schon etwas her.
Zitat:
Der Fragesteller ist eventuell angehalten, sich intensiver mit Excel und VBA auseinander zu setzen und ggf. Änderungen und Anpassungen selbst vorzunehmen
(dadurch gibt's für den einen oder anderen vielleicht auch einen größeren Lernerfolg)
Das ist das Einzige, dem ich vorbehaltlos zustimme. Natürlich haben wir uns auf die Fahnen geschrieben, dass Hilfe zur Selbsthilfe ganz weit vorn steht. Aber ist das wirklich immer sinnvoll?
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Folgende(r) 2 Nutzer sagen Danke an WillWissen für diesen Beitrag:2 Nutzer sagen Danke an WillWissen für diesen Beitrag 28 • , Käpt'n Blaubär
Zum Thema Beispieldateien - ich präferiere Demodateien (vom Frager UND Helfer) absolut. Einen - wie auch immer gearteten - Mehrwert in ellenlangen Themen (weder für den Fragenden NOCH für den Helfer) kann ich - auch in Punkto Lerneffekt - nicht erkennen.