Anzeige
Archiv - Navigation
1584to1588
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ordnerbaum per VBA anlegen

Ordnerbaum per VBA anlegen
16.10.2017 11:17:20
Harald
Hallo zusammen,
ich möchte aus wöchentlichen Meldungen einen Archiv- Ordnerbaum anlegen.
Die Ordner sollen aus Zellwerten angelegt werden, falls noch nicht vorhanden.
Die Ordner sollen aber erst angelegt werden, wenn sie benötigt werden.
Mein fester Pfad lautet: F:\Wochenmeldung\Archiv
1) Bei Makrostart soll geprüft werden, ob im Archiv bereits ein Ordner mit dem Wert aus Zelle R1 (z.B. "Jahr 2017") besteht.
Wenn nicht, Ordner anlegen.
2) Bei Makrostart soll geprüft werden, ob im Archiv bereits ein Ordner mit dem Wert aus Zelle R1 (z.B. "Jahr 2017") und ein Unterordner mit dem Wert aus Zelle R2 (z.B. "Jahr 2017 KW 42") besteht.
Wenn nicht, Unterordner Jahr-Kalenderwoche (JJJJ KW 00) im Ordner Jahr (JJJJ) anlegen.
Ich hoffe, dass ich mich verständlich ausgedrückt habe und mir jemand eine fertige Lösung als "Ausbau/Erweiterung" des nachfolgenden Codes liefern kann.
Eine Beispielsdatei kann leider nicht upgeloaded werden, da dieses von unserer Firmen- IT geblockt wird.
In A1 steht der Datumswert. In Zelle R1 (Jahr JJJJ) und R2 (Jahr JJJJ KW 00) stehen die Werte (ermittelt und formatiert aus Zelle A1 = Tagesdatum) für die Anlage der Ordner, falls noch nicht vorhanden.
Vielen Dank im Voraus und Grüße
Harald
Sub NEUEN_ORDNER_AUS_ZELLWERT_WENN_NOCH_NICHT_VORHANDEN()
'Neuen Ordner aus Zellwert A1 per VBA anlegen, falls noch nicht vorhanden
If Dir("F:\Wochenmeldung\Archiv\ZELLWERT_R1", vbDirectory) = "" Then
MkDir ("F:\Wochenmeldung\Archiv\ZELLWERT_R1")
MsgBox "Ordner '' ZELLWERT_R1 '' wurde angelegt!"
Else
MsgBox "Ordner '' ZELLWERT_R1 '' ist vorhanden!"
End If
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordnerbaum per VBA anlegen
16.10.2017 11:43:42
UweD
Hallo
so ?
Sub NEUEN_ORDNER_AUS_ZELLWERT_WENN_NOCH_NICHT_VORHANDEN()
    'Neuen Ordner aus Zellwert R1 / R2 per VBA anlegen, falls noch nicht vorhanden 
    Dim Pfad1 As String, Pfad2 As String
    Dim Verz1 As String, Verz2 As String, TB As Worksheet
    
    Set TB = Sheets("Tabelle1")
    Verz1 = TB.Range("R1")
    Verz2 = TB.Range("R2")
    
    Pfad1 = "F:\Wochenmeldung\Archiv\" & Verz1
    Pfad2 = Pfad1 & "\" & Verz2
    
    If Dir(Pfad1, vbDirectory) = "" Then
      MkDir (Pfad1)
      MsgBox "Ordner """ & Verz1 & """ wurde angelegt!"
    Else
      MsgBox "Ordner """ & Verz1 & """ vorhanden!"
    End If
    
    If Dir(Pfad2, vbDirectory) = "" Then
      MkDir (Pfad2)
      MsgBox "Ordner """ & Verz2 & """ wurde angelegt!"
    Else
      MsgBox "Ordner """ & Verz2 & """ vorhanden!"
    End If
End Sub

LG UweD
Anzeige
AW: Ordnerbaum per VBA anlegen
16.10.2017 11:57:44
Harald
Hallo Uwe,
genau so hatte ich mir das vorgestellt.
Du hast mir sehr weitergeholfen.
Vielen lieben Dank !!!!!!!!!!!!
Gruß, Harald
Danke für die Rückmeldung owT
16.10.2017 11:59:04
UweD
AW: Ordnerbaum per VBA anlegen
16.10.2017 12:41:01
Harald
Ups, jetzt habe ich aber noch eine ergänzende Frage.
Die Ordner werden jetzt schön automatisch angelegt.
Aber wie lautet der Code um die Datei dann im neuen Ordner bzw. Unterordner zu speichern?
Aktuell habe ich folgenden funktionierenden Code der sich den Dateiname aus Zelle Q1 holt und die Datei im Ordner "Archiv" speichert:
ActiveWorkbook.SaveCopyAs Filename:="F:\Wochenmeldung\Archiv\Wochenmeldung " & Range("Q1") & ".xlsm"
Ergänzt werden müsste der Code nun um Ordner X (Ordnername aus Zelle R1) und Unterordner Y (Ordnername aus Zelle R2)!
ActiveWorkbook.SaveCopyAs Filename:="F:\Wochenmeldung\Archiv\Ordner aus Zelle R1\Unterordner aus Zelle R2\Wochenmeldung " & Range("Q1") & ".xlsm"
Vielen Dank im Voraus
Harald
Anzeige
AW: Ordnerbaum per VBA anlegen
16.10.2017 12:58:59
UweD
Hallo nochmal
so?
    ActiveWorkbook.SaveCopyAs Filename:=Pfad2 & " \Wochenmeldung " & Range("Q1") & ".xlsm"

LG UweD
AW: Ordnerbaum per VBA anlegen
16.10.2017 13:56:22
Harald
Leider nein.
Makro funktioniert nicht. Darf ich die frage nochmal anders stellen?
Der Pfad und Dateiname soll sich wie folgt zusammensetzen:
1) Fester Teil des Pfades: ActiveWorkbook.SaveCopyAs Filename:="F:\Wochenmeldung\Archiv\
2) Ordner aus Zellwert R1 (Jahr)
3) Unterordner aus Zellwert R2 (Jahr KW 00)
4) Dateiname aus Zellwert Q1 (Dateiname & .xlsm)
Wie lautet der aus den Einzelteilen zusammengesetzte komplette Code?
Vielen Dank im Voraus
Harald
Anzeige
AW: Ordnerbaum per VBA anlegen
16.10.2017 14:08:41
UweD
Hallo
da war ein Leerzeichen zu viel (vor dem \Woch..)
ActiveWorkbook.SaveCopyAs Filename:=Pfad2 & "\Wochenmeldung " & Range("Q1") & ".xlsm"
LG UweD
AW: Ordnerbaum per VBA anlegen
16.10.2017 14:26:09
Harald
Hallo UweD,
jaaaaa, jetzt funktioniert es.
you are the best !!!!
Vielen Dank und Grüße
Harald
Prima! Danke für die Rückmeldung. owT
16.10.2017 14:28:29
UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige