Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Am Sonntag (23.09.) wird das Forum zwischen 06:00 Uhr und 09:00 Uhr kurzzeitig nicht erreichbar sein. Wir stellen auf SSL / HTTPS um.


Zielordner selbst erstellen
#1
Hallo,

zur Zeit speichere ich meine Blätter mit folgendem Makro

Code:
Sub BlattSpeichernRechnung()

Application.ScreenUpdating = False
ActiveSheet.Copy
Dim neuName As String
'Pfad anpassen "H:\???????\
ChDir "C:\Users\p\Desktop\Wein\Rechnungen"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
       "C:\Users\p\Desktop\Wein\Rechnungen\" & Range("D12") & Range("B12") & Format(Date, "dd.mm.yyyy") & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
End Sub

Jetzt ist es aber so das alle Rechnungen in einem Ordner gespeichert werden und sich gleiche Namen nur durch das Datum unterscheiden.
Ist es möglich in den Code etwas einzubauen wie einen Zielordner der sich selbst erstellt mit dem Namen aus D12 und B12, darin dann die Rechnung unter dem Namen aus D12 und B12 und dem Datum speichert und wenn dieser Ordner mit dem Namen schon vorhanden ist, die Rechnung enfach diesem Ordner mit D12 und B12 und dem Datum hinzufügt.
Als Steigerung in diesem Ordner auch noch Ordner für die Jahre erstellt.

Ich habe schon die Suche bemüht aber mit den Begriffen habe ich leider keinen erfolg gehabt.
Vielleicht gibt es schon einen Thread und jemand kann mir den Link einstellen.

Das ganze läuft dann unter 2007

Gruß
Thomas

Code strukturiert dargestellt durch 3. Button von rechts im Beitragsformular: #
 photo Raute_zps3ee56209.jpg
Antwortento top
#2
Hallo Thomas,

hier ein Beispielcode:

Code:
Application.ScreenUpdating = False
   Dim neuName As String
   Dim ordner As String
   ordner = "C:\Users\p\Desktop\Rechnungen"
  
   If Dir(ordner, vbDirectory) = "" Then MkDir ordner
  
   ActiveSheet.Copy
   ChDir ordner
  
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
   ordner & "\" & Range("D12") & Range("B12") & Format(Date, "dd.mm.yyyy") & ".pdf", _
   Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
   :=False, OpenAfterPublish:=True
  
End Sub

Was noch berücksichtigt werden soll, habe ich nicht ganz verstanden. Welches Jahr soll genommen werden. Das Jahr bei Rechnungserstellung oder beim Ausführen des Codes. Oder sind die Ereignisse identisch?
Gruß Atilla
Antwortento top
#3
Hallo Atilla,
ich probier es gleich mal.

Es soll das Jahr bei Rechnungsstellung genommen werden.

Gruß
Thomas
Antwortento top
#4
HAllo Atilla,

da hat sich gegenüber meinem Code nichts geändert.
Es wird im angegebenen Zielordner gespeichert.
Es sollte sich aber ein neuer erstellen mit dem Namen aus den Zellen ( Peter Pan ) und dann in diesem Ordner die Rechnung unter dem Namen ( Peter Pan ) und Datum abgelegt werden.
Wenn dieser Ordner ( Peter Pan )bei einer weiteren Rechnung für Peter Pan schon besteht soll die Rechnung einfach in dem besteheden mit Datum und Namen ( Peter PAn ) abgelegt werden.

Gruß
Thomas
Antwortento top
#5
Hallo Thomas,

natürlich hat sich nichts geändert.

Es muss auc so lauten:

ordner = "C:\Users\p\Desktop\Rechnungen\" & Range("D12") & Range("B12")

Sorry, mein Fehler.
Gruß Atilla
[-] Folgende(r) 1 Benutzer sagt Danke an atilla für diesen Beitrag:
  • knallebumm
Antwortento top
#6
Danke Atilla,
es läuft.

Gruß
Thomas
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste