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.

Verzeichnispfad per VBA angeben
#1
Hallo Forum
eventuell kann man mir ja hier helfen.....

Mein Problem:

In Laufwerk D:\ gibt es den Ordner "Google Drive", den ich gerne zum Speichern meiner Daten nutzen möchte. OK, so weit so gut.

In dem Ordner "Google Drive" gibt es 5 Unterordner mit den Namen "Angebot" - "Rechnung" - "1. Mahnung" - "2. Mahnung" - "3. Mahnung"
"
Jeder dieser Ordner hat nun wiederum 10 weitere Unterordner mit den Namen "2020" - "2021" - "2022" - "2023" - usw. usw. bis zum 2030.

Der VBA Code soll nun so angepasst werden, dass je nachdem was ich erstelle - "Angebot" - "Rechnung" - "1.2.3 Mahnung" der entsprechende Ordner und dann der entsprechende Jahresordner als Speicherziel genommen wird.

Beispiel: Rechnung im Jahr 2020

D:\Google Drive\Rechnung\2020\Speichername

D:\Google Drive\ (ist fest vorgegeben)

1. Ordnername: - Hier "Rechnung" wird als Variable aus Zelle "BA320" als Text bezogen

2. Ordnername: - Hier "2020" wird als Variable aus Zelle "EC7" als Zahl bezogen

Speichername wird in Zelle "FM7" über "Verketten" erzeugt;  Name, Straße Hausnummer, Plz. Ort

Mein Makro speichert die Dateien zwar schon am Richtigen Ort aber immer in den Ordner "RECHNUNGEN" - das möchte ich angepasst haben..

Hier mein Makro:

Private Sub CommandButton13_Click()

Dim Pfad As String
Pfad = "D:\Google Drive\Rechnungen\" & Sheets("Eingabe").Range("EC7") & "\" & Sheets("Eingabe"). _
Range("FM7") & ".xlsm"
ThisWorkbook.SaveAs Filename:=Pfad

End Sub


Vielen Dank für eure Vorschläge

Anbei eine sehr einfache Beispieldatei
Antwortento top
#2
Hallöchen,

in Deinem Code ist das Wort Rechnung fest programmiert. Dort müsste sicher die Zelle rein, wo Du die Auswahl vornimmst.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#3
Hallo,
du hast 100 Punkte.... Nur wie mache ich das ???

Wie muss der Code entsprechend angepasst werden?

Hab leider keine VBA Kenntnisse und nur sehr wenig Excel Kenntnisse....

Bitte hilf....

Danke Hans
Antwortento top
#4
Moin!
Nun, so schwer ist das doch nicht, oder?

Dim Pfad As String
With Sheets("Eingabe")
  Pfad = "D:\Google Drive\" & .Range("BA320") & "\" & .Range("EC7") & "\" & .Range("FM7")
End With
ThisWorkbook.SaveAs Filename:=Pfad


Die Dateiendung kannst Du Dir sparen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#5
Ach so:

Zitat:Speichername wird in Zelle "FM7" über "Verketten" erzeugt;  Name, Straße Hausnummer, Plz. Ort


Was machst Du, wenn ein Kunde zwei oder mehr Rechnungen im Jahr erhält?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#6
Moin moin,
der Kunde kann bis zu 30.000 Rechnungen im Monat bekommen, denn der Rechnungsnummernkreis - wird im Speichernamen mit angegeben - jede Rechnung ist damit individuell-

Dazu kommt noch, dass der entsprechende Monat - Jan, Feb, Mär, usw. mit im Speichernamen auftaucht.

Die Rechnungsnummer setzt sich dazu noch aus Kundennummer - Monat - Jahr zusammen, ist also für das Finanzamt eindeutig - und das für jeden Kunden - zu erkennen--

MfG

Hans

Übrigens.... die angegebenen Codes funktionieren nicht.... bin nun auf der Suche nach einem Excel Programmierer hier am Ort....

Hier noch einmal meine - sehr vereinfachte - Datei (kann, und darf das Original nicht hochladen) 


.xlsx   Beispiel.xlsx (Größe: 17,81 KB / Downloads: 4)
Antwortento top
#7
Hallo,
hier im Anhang mal die Fehlermeldungen von Excel.....

Den Code von Ralf hatte ich auch versucht.... geht gar nicht....

Dim Pfad As String
With Sheets("Eingabe")
  Pfad = "D:\Google Drive\" & .Range("BA320") & "\" & .Range("EC7") & "\" & .Range("FM7")
End With
ThisWorkbook.SaveAs Filename:=Pfad


Hans    

   
Antwortento top
#8
Hallo Hans,

ich dachte ja, Dein Code wäre auch von Dir, daher die kurze Antwort.
Bezogen auf Dein Beispiel wäre der Code so. Ich hab mal noch den fehlenden CommandButton im Blatt eingefügt, der hat nun bei mir die 1.

Option Explicit

Private Sub CommandButton1_Click()
Dim Pfad As String
Pfad = Sheets("Eingabe").Range("C31") & Sheets("Eingabe").Range("D31") & ".xlsm"
ThisWorkbook.SaveAs Filename:=Pfad, FileFormat:=52
End Sub

Bei Deinem VERKETTEN hast Du um die Backslashs Leerzeichen gemacht, dass solltest Du nicht tun. Dein Verzeichnis heißt z.B. sicher "2025" und nicht " 2025 "

Arbeitsblatt mit dem Namen 'Eingabe'
D
303. Mahnung \ 2025 \ ALLDIE SCHOENEN DINGE - Große Freiheit 123 - 23588 Hamburg - 1233 - 1220 - 2025 - 3. Mahnung
313. Mahnung\2025\ALLDIE SCHOENEN DINGE - Große Freiheit 123 - 23588 Hamburg - 1233 - 1220 - 2025 - 3. Mahnung

ZelleFormel
D30=VERKETTEN(G5;" \ ";E5;" \ ";I5;" - ";C5;" - ";A5;" - ";E5;" - ";G5)
D31=VERKETTEN(G5;"\";E5;"\";I5;" - ";C5;" - ";A5;" - ";E5;" - ";G5)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#9
Hallo Schauan,
vielen Dank für deine Mühe, nun klappt alles Prima.....

Mein FEHLER war, das der Speicherort und Ordnername nicht identisch benannt wurden.

Wenn ich also unter "Rechnung" abspeichern wollte, wurde der Ordner "Rechnung" gesucht und konnte nicht gefunden werden, weil dieser "RECHNUNGEN" hieß.

Manchmal sieht man den Wald vor lauter Bäumen nicht... Geändert und geht....

Was soll ich an Trennzeichen nehmen, zur besseren Lesbarkeit hab ich es ja so gemacht....

Aldi;" ";"-";" ";schönen;" ";"-";" ";Sachen / Daraus wird dann Aldi - schönen - Sachen / Lässt sich doch gut lesen...

Noch einmal vielen Dank für Eure Hilfe

Hans
Antwortento top


Gehe zu:


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