Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Speicherort an Bedingung in Zelle knüpfe

Speicherort an Bedingung in Zelle knüpfe
17.02.2022 09:13:59
Lembrandt
Grüßt euch,
ich habe eine Eingabemaske zur Erstellung von Geschäftsbriefen erstellt. Nun soll mittels Makro, in Abhängigkeit des Zellinhaltes in Zelle A21 ein PDF in jeweils einem anderen Ordner gespeichert werden. Der Schriftstücktyp (Zelle A21) lässt sich per Dropdown-Menü auswählen. Der unten angegebene Code sucht sich den Dateinamen bereits aus der ausgefüllten Maske heraus.
Bsp: Mustermann_Angebot_15487_17.02.2022
Allerdings schaffe ich es nicht den Speicherort bezogen auf den Schriftstücktyp auszuwählen - zurzeit wird alles in einem Ordner gespeichert.
Jedes "Angebot" soll im Ordner "2. Angebote (PDF)" abgelegt werden. Bedenken-, Mehrkosten- und Behinderungsanzeigen sollen alle in den Ordner "5. VOB Anzeigen (PDF) gespeichert werden.
Ich dachte an eine If-Then-Else-Schleife ... die müsste dann alle einzelnen Schriftstücke (in A21) erfassen und dem jeweiligen Ordner zuordnen.
Hier eine Übersicht der gewünschten Zuordnung:
/Users/lembrandt/Desktop/2. Angebote (PDF) --> für Angebote
/Users/lembrandt/Desktop/3. Auftragsbestätigungen (PDF) --> Auftragsbestätigungen
/Users/lembrandt/Desktop/4. Rechnungen (PDF) --> für Rechnungen, Anzahlungsrechnungen, Teilrechnungen, Schlussrechnungen
/Users/lembrandt/Desktop/5. VOB-Anzeigen (PDF) --> für Mehrkosten-, Behinderungs- & Bedenkenanzeigen
/Users/lembrandt/Desktop/6. Lieferscheine (PDF) --> für Lieferscheine
/Users/lembrandt/Desktop/7. Zahlungserinnerungen (PDF) --> für Zahlungserinnung, 2. Mahnung, Letzte Mahnung
Vielen Dank für eure Hilfe!

Sub PDFerstellenspeichern()
' PDFerstellenspeichern Makro
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
"/Users/lembrandt/Desktop/" & Sheets("AG AB RE").Range("A13").Value & "_" & Sheets("AG AB RE").Range("A21").Value & "_" & Sheets("AG AB RE").Range("L23").Value & "_" & Sheets("AG AB RE").Range("L27").Value, Quality:= _
xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speicherort an Bedingung in Zelle knüpfe
17.02.2022 09:43:53
Lembrandt
... habs auch so mal probiert - leider ohne Erfolg.

Sub PDFerstellenspeichern()
' PDFerstellenspeichern Makro
If Range("A21").Value = Angebot Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"/Users/lembrandt/Desktop/Angebote" & Sheets("AG AB RE").Range("A13").Value & "_" & Sheets("AG AB RE").Range("A21").Value & "_" & Sheets("AG AB RE").Range("L23").Value & "_" & Sheets("AG AB RE").Range("L27").Value, Quality:= _
xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
ElseIf Range("A21").Value = Auftragsbestätigung Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"/Users/lembrandt/Desktop/Auftragsbestätigung" & Sheets("AG AB RE").Range("A13").Value & "_" & Sheets("AG AB RE").Range("A21").Value & "_" & Sheets("AG AB RE").Range("L23").Value & "_" & Sheets("AG AB RE").Range("L27").Value, Quality:= _
xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
ElseIf Range("A21").Value = Rechnung Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"/Users/lembrandt/Desktop/Rechnung" & Sheets("AG AB RE").Range("A13").Value & "_" & Sheets("AG AB RE").Range("A21").Value & "_" & Sheets("AG AB RE").Range("L23").Value & "_" & Sheets("AG AB RE").Range("L27").Value, Quality:= _
xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
End Sub

Anzeige
AW: Speicherort an Bedingung in Zelle knüpfe
17.02.2022 10:04:16
Oberschlumpf
Hi,
erstmal...
bei deinem 2. Versuch fehlt bei den Speicherort-Vorgaben...
"/Users/lembrandt/Desktop/Angebote"
"/Users/lembrandt/Desktop/Auftragsbestätigung"
usw...
...am Ende IMMER ein "/"
Und anstelle von deinen If...Else If - Versuchen versuch es mal mit einer weiteren Variablen UND Select Case, z Bsp so:

Sub PDFerstellenspeichern()
' PDFerstellenspeichern Makro
Dim lstrPath As String
Select Case Range("A21").Value
Case "Angebot"
lstrPath = "/Users/lembrandt/Desktop/Angebote/"
Case "Auftragsbestätigung"
lstrPath = "/Users/lembrandt/Desktop/Auftragsbestätigung/"
Case "Rechnung"
lstrPath = "/Users/lembrandt/Desktop/Rechnung/"
...usw für die anderen Speicherorte...
End Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
lstrPath & Sheets("AG AB RE").Range("A13").Value & "_" & Sheets("AG AB RE").Range("A21").Value & "_" & Sheets("AG AB RE").Range("L23").Value & "_" & Sheets("AG AB RE").Range("L27").Value, Quality:= _
xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
So musst du den Speicher- bzw Export-Befehl auch nur ein einziges mal schreiben.
Hilfts?
Wenn nein, zeig mal ne Bsp-Datei, in der a) die Einträge in Range("A21") enthalten sind und alle Speicherorte, um die es geht.
Ciao
Thorsten
Anzeige
AW: Speicherort an Bedingung in Zelle knüpfe
17.02.2022 10:29:16
Lembrandt
Krass deine Lösung ist deutlich eleganter - ich bin begeistert! Funktioniert wie beschrieben.
Danke und Grüße
Lembrandt
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige