Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ordner mit Unterordner erstellen

Ordner mit Unterordner erstellen
21.08.2018 18:46:31
Brigitte
https://www.herber.de/bbs/user/123473.xlsm
Hallo Forum,
ich habe ein Tabellenblatt mit Kundennamen und Kundennummer. Daraus werden Ordner erstellt mit der Bezeichnung Name, Vorname, Kundennummer.
Mit Suche im Netz, habe ich das hinbekommen. Ich muss aber für jeden erstellten Ordner noch drei Unterordner erstellen und dort jeweils nochmal zwei Unterordner.
Wie geht das?
Kann mir jemand weiterhelfen?
Danke
Brigitte
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner mit Unterordner erstellen
21.08.2018 19:18:51
Nepumuk
Hallo Brigitte,
ein Beispiel:
Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
    ByVal DirPath As String) As Long

Public Sub Beispiel()
    Dim lngReturn As Long
    lngReturn = MakeSureDirectoryPathExists("H:\Test\Test\Test\")
    If lngReturn = 0 Then
        MsgBox "Fehler beim Erstellen des Ordners.", vbCritical, "Dateisystemfehler"
    End If
End Sub

Es wird ein Ordner "Test" erstellt der den Unterordner "Test" enthält der wiederum den Unterunterordner "Test" enthält. Beachte, dass am Ende des Ausdrucks ein Backslash erforderlich ist.
Gruß
Nepumuk
Anzeige
AW: Ordner mit Unterordner erstellen
21.08.2018 20:03:54
Brigitte
Hallo Nepomuk,
danke für deine schnelle Antwort.
Da ich aber so gut wie keine Ahnung von VBA habe: Kannst du mir bitte deinen Code in meine Mappe einpacke.
Ich habe gerade versucht und bekomme immer einen Systemfehler.
Danke
Brigitte
Laufwerk-H ändern?
22.08.2018 08:12:58
robert
"H:\Test\Test\Test\"
AW: Laufwerk-H ändern?
22.08.2018 09:56:59
Brigitte
Hallo Robert,
danke für deinen Hinweis. Grundsätzlich funktioniert der Code ja, der ist so in Ordnung.
Mein Problem ist aber folgendes: Es wir ein Ordner erstellt der sich aus dem Namen, Vornamen und Kundennummer zusammensetzt. (Müller, Michel - 123456). Das funktioniert ebenfalls. Jetzt soll in diesen erstellten Ordnern jeweils automatisch Unterordner erstell werden und zwar Berichte - Rechnungen - Sonstiges.
Wenn möglich in diesen Unterordnern nochmals Unterordner einfügen.
Wie funktioniert das?
Vieln Dank
Brigitte
Anzeige
"Das funktioniert"- und was funkt nicht?
22.08.2018 11:56:32
robert
Hi,
zeig uns den Code der funktioniert-dann sehen wir weiter...
Gruß
robert
AW: "Das funktioniert"- und was funkt nicht?
22.08.2018 13:29:20
Brigitte
https://www.herber.de/bbs/user/123492.xlsm
Hallo Robert,
anbei die Beispieldatei.
Aus den Einträgen werden Ordner generiert. mit Name, Vorname, KdNr. Das funktioniert.
Meine Frage: Wie bekomme ich Unterordner in die erstellten Ordner mit den Namensbezeichnungen?
Hilfe!!!!!
Danke
Brigitte
Anzeige
AW: "Das funktioniert"- und was funkt nicht?
22.08.2018 14:04:38
Engelchen
Hallo Brigitte,
z.B. so (gemäß Deinem Beispiel):
Sub OrdnerErstellen()
Dim fso As Object
Dim i As Integer
Dim strPfad As String
Dim appWord As Object
Dim strText As String
Set fso = CreateObject("Scripting.Filesystemobject")
For i = 2 To Cells(Rows.Count, 3).End(xlUp).Row
strPfad = ThisWorkbook.Path & "\" & Cells(i, 3) & ", " & Cells(i, 4) & " " & Cells(i, 5)
If Not ordnerda(strPfad) Then
MkDir strPfad
MkDir strPfad & "\Berichte"
MkDir strPfad & "\Rechnungen"
MkDir strPfad & "\Sonstiges"
MkDir strPfad & "\Weiterer Unterordner"
MkDir strPfad & "\Weiterer Unterordner\Irgendetwas"
End If
Next i
Set fso = Nothing
strText = " Die Ordner mit den Dokumenten wurden angelegt !!!"
MsgBox strText, 64, "Meldung"
End Sub
Viele Grüße!
Engelchen
Anzeige
AW: "Das funktioniert"- und was funkt nicht?
22.08.2018 16:10:01
Brigitte
Hallo Engelchen, hallo Robert,
unter den Blinden ist der Einäugige König.
Ich habe den Post von Engelchen doch glatt übersehen. Liegt eventuell am Wetter. Werde das jetzt gleich testen und melde mich dann noch mal
Danke
Brigitte
..meinst Du so ?
22.08.2018 14:10:04
robert
strPfad = ThisWorkbook.Path & "\" & Cells(i, 3) & ", " & Cells(i, 4) & " " & Cells(i, 5) & "\Rechnungen\xxx\"
Anzeige
AW: ..meinst Du so ?
22.08.2018 14:57:18
Brigitte
Hallo Robert,
danke für deine Antwort.
Wenn ich deinen Code eingebe, dann bricht er bei
If Not ordnerda(strPfad) Then
MkDir strPfad

ab. Läuft der Code denn bei dir?
Danke
Brigitte
Ja, aber nimm den Code v.Engelchen :-)
22.08.2018 15:02:53
robert
..der ist besser (korrekter )...
Gruß
#robert
AW: Ja, aber nimm den Code v.Engelchen :-)
22.08.2018 16:07:01
Brigitte
Hallo Robert,
eventuell sitze ich ja auf meinem Hirn, aber mit deiner Antwort kann ich im Moment nichts anfangen.
Kannst du mir auf die Sprünge helfen?
Danke
Brigitte
Anzeige
AW: Ja, aber nimm den Code v.Engelchen :-)
22.08.2018 16:14:39
Brigitte
Hallo Engelchen, hallo Robert,
alles läuft wie geschmiert. Vielen Dank.
Ihr habt mir sehr geholfen und mir jede Menge Arbeit erspart. Ihr seid Spitze.
Nochmals Danke
Brigitte
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Ordner und Unterordner aus Excel erstellen


Schritt-für-Schritt-Anleitung

Um mit Excel und VBA Ordner und Unterordner zu erstellen, folge diesen Schritten:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe.

  2. Gib die Daten ein, aus denen die Ordner erstellt werden sollen. Zum Beispiel:

    • Spalte A: Nachname
    • Spalte B: Vorname
    • Spalte C: Kundennummer
  3. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  4. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
  5. Füge den folgenden VBA-Code ein:

    Sub OrdnerErstellen()
       Dim fso As Object
       Dim i As Integer
       Dim strPfad As String
       Set fso = CreateObject("Scripting.FileSystemObject")
    
       For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
           strPfad = ThisWorkbook.Path & "\" & Cells(i, 1) & ", " & Cells(i, 2) & " " & Cells(i, 3)
           If Not fso.FolderExists(strPfad) Then
               MkDir strPfad
               MkDir strPfad & "\Berichte"
               MkDir strPfad & "\Rechnungen"
               MkDir strPfad & "\Sonstiges"
           End If
       Next i
    
       Set fso = Nothing
       MsgBox "Die Ordner wurden erfolgreich erstellt!"
    End Sub
  6. Schließe den VBA-Editor und kehre zu Excel zurück.

  7. Führe das Makro aus: Drücke ALT + F8, wähle OrdnerErstellen und klicke auf "Ausführen".

Mit dieser Methode kannst du Ordner mit Unterordnern automatisch erstellen, basierend auf deiner Excel-Liste.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 75 - Pfad nicht gefunden"
    Lösung: Stelle sicher, dass der Pfad, den du verwendest, gültig ist und dass du die richtigen Berechtigungen hast.

  • Fehler: "Ordner existiert bereits"
    Lösung: Füge eine Überprüfung ein, um sicherzustellen, dass der Ordner nicht bereits existiert, bevor du ihn erstellst.

  • Fehler: "Zugriff verweigert"
    Lösung: Überprüfe, ob du Schreibrechte im Zielverzeichnis hast.


Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch mit Batch-Skripten arbeiten oder die mkdir-Befehle in der Eingabeaufforderung nutzen. Hier ein Beispiel, um mehrere Ordner mit Unterordnern zu erstellen:

mkdir "C:\Ordner\Berichte"
mkdir "C:\Ordner\Rechnungen"
mkdir "C:\Ordner\Sonstiges"

Diese Methode ist jedoch weniger flexibel und erfordert manuelle Anpassungen.


Praktische Beispiele

Wenn du eine Excel-Liste mit folgenden Daten hast:

Nachname Vorname Kundennummer
Müller Michel 123456
Schmidt Anna 654321

Nach Ausführung des Makros wird die folgende Ordnerstruktur erstellt:

C:\DeinPfad\Müller, Michel 123456
    ├── Berichte
    ├── Rechnungen
    └── Sonstiges

C:\DeinPfad\Schmidt, Anna 654321
    ├── Berichte
    ├── Rechnungen
    └── Sonstiges

Tipps für Profis

  • Verwende Fehlerbehandlung im VBA-Code, um unerwartete Fehler abzufangen.
  • Optimiere den Code, indem du wiederholte Berechnungen reduzierst und Variablen effizient verwendest.
  • Erstelle eine Benutzeroberfläche mit Schaltflächen, um die Ausführung des Makros zu erleichtern.

FAQ: Häufige Fragen

1. Kann ich die Ordnerstruktur auch in einem bestimmten Verzeichnis erstellen?
Ja, ändere einfach den strPfad-Wert im Code zu dem gewünschten Verzeichnis.

2. Wie kann ich weitere Unterordner hinzufügen?
Füge einfach weitere MkDir-Befehle für die gewünschten Unterordner unter dem Hauptordner hinzu.

3. Ist dieser Code mit allen Excel-Versionen kompatibel?
Ja, der VBA-Code sollte mit den meisten modernen Excel-Versionen funktionieren. Achte auf die richtige Aktivierung der Makros.

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