Website-Icon eKiwi-Blog.de

VBA: mehrere Ordner mit Excel-Liste erstellen

VBA - Visual Basic for Application

Wenn man viele zig oder gar hundert Ordner neu erstellen muss, ist es eine sehr zeitaufwendige und ätzende Arbeit jeden Ordner per Kontextmenü “Neu => Ordner” oder per Tastenkombination Strg+Umschalt+N anzulegen. Unter Windows gibt es einige Alternativen, wie die Verwendung des Dateimanager Total Commander oder die Verwendung der PowerShell.

Hat man jedoch die vielen Ordnernamen bereits digital in Form einer Liste vorliegen und ist mit VBA ein wenig vertraut, dann kann dies auch mit ein wenig VBA-Code erledigen.

Je nachdem in welcher Form die Ordnernamen vorliegen, kann man diese in eine Excelliste überführen, wie das nachfolgende Beispiel zeigt. Den VBA-Editor kann man im Menü über die “Entwicklertools” aufrufen. (Die Entwicklertools sind standardmäßig nicht eingeblendet. Um diese einzublenden wählt man “Datei => Optionen => Menüband anpassen => Checkbox bei Entwicklertools anklicken”) Alternativ kann man den VBA-Editor mit der Tastenkombination Alt+F11 aufrufen.

VBA-Methode zum Erstellen vieler Verzeichnisse

In dem VBA-Editor erstellt man dann die folgende Methode. Der Variable strPath weist man den Dateipfad zu unter welchem die Ordner erstellt werden sollen. Bei Worksheets schreibt man anstelle “Tabelle1” den Namen des Tabellenblatts hinein, in welchem sich die Ordnernamen befinden. Und im Klammerausdruck von Range gibt man den Bereich der Excelzellen an, in dem sich die Ordnernamen befinden. Mittels der For-Each-Schleife wird dann über diesen Zellenbereich iteriert und der Pfadname des neuen Ordners zusammengestellt. Die VBA-Methode MkDir erstellt dann die neuen Verzeichnisse.

Sub CreateNewFolders()
  Dim strPath As String
  Dim newFolderPath As String
  'hier Pfad festlegen, wo Ordner erstellt werden sollen
  strPath = "c:\Users\DeinAccount\Desktop\temp\Ordner_anlegen\OrdnerGemischt\"
  'Tabelle1 ersetzen durch Name des Tabellenblatts
  'A2:A31 ersetzen durch Bereich, wo Ordnernamen enthalten sind
  For Each c In Worksheets("Tabelle1").Range("A2:A31").Cells
    newFolderPath = strPath & c.Value
    MkDir (newFolderPath)
  Next
End Sub

Führt man diese Methode aus, indem man innerhalb des VBA-Editors die Taste F5 drückt oder das Wiedergabe-Symbol, dann werden die Ordner in wenigen Millisekunden erstellt. Das Ergebniss kann dann wie auf dem nachfolgenden Bild aussehen.

Ergebniss mit VBA angelegte Ordner

Hier spart man sich also viel Zeit, genauso, wi beim umgekehrten Fall, Ordnernamen in eine Excelliste zu übernehmen, wenn man VBA und Makros benutzt.

Bestseller Nr. 1
Bestseller Nr. 2
Die mobile Version verlassen