Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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
to 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

Excel 2007
to top
#3
Hallo Atilla,
ich probier es gleich mal.

Es soll das Jahr bei Rechnungsstellung genommen werden.

Gruß
Thomas
to 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
to 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

Excel 2007
[-] Folgende(r) 1 Benutzer sagt Danke an atilla für diesen Beitrag:
knallebumm
to top
#6
Danke Atilla,
es läuft.

Gruß
Thomas
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Formel oder Selbst eintippen Farulon 10 325 13.10.2016, 06:45
Letzter Beitrag: Farulon
  Dynamische Dropdown mit VBA (selbst erweiternd) hamme 6 576 04.07.2016, 09:08
Letzter Beitrag: snb
  Verrückte Formel ändert sich selbst Mounzer 12 900 19.05.2016, 06:11
Letzter Beitrag: Mounzer
  Schriftart ändert sich von selbst Daniel.Haering 2 919 20.01.2016, 08:22
Letzter Beitrag: Daniel.Haering

Gehe zu:


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