VisualBasic Ordner mit Unterordner erstellen lassen

Boncer

Ensign
Registriert
Sep. 2014
Beiträge
144
Würde gerne ein Makro bauen, dass ich aus einer Excelliste im Windows-Ordner erstellen kann mit unterordner z.b

Spalte [A]
Haushalt

Spalte
Strom
Wasser
Heizung

Spalte [C]
2012
2013
2014
2016


Code:
Option Explicit
Const strPfad As String = "C:" ' anpassen

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

Public Sub Test()
    Dim wksSheet As Worksheet
    Dim lngLastRow As Long
    Dim lngLastRow2 As Long
    Dim lngReturn As Long
    On Error GoTo Fin
    Set wksSheet = ThisWorkbook.Worksheets("Tabelle1")   'anpassen!
    With wksSheet
        lngLastRow = .Range("A" & .Rows.Count).End(xlUp).Row ' Spalte A
        For lngLastRow = 1 To lngLastRow ' ab Zeile 1 also eventuell anpassen
            If Trim(.Cells(lngLastRow, 1).Value) <> "" Then
            MakeSureDirectoryPathExists (strPfad & .Cells(lngLastRow, 1).Value & "")
               End If
            Next lngLastRow
            
    End With
Fin:
    Set wksSheet = Nothing
End Sub
 
Zuletzt bearbeitet:
Theoretisch brauchst du alle Daten pro Spalte in einem Array und dann musst du pro Spalte eine For-Schlaufe machen.
Hier fehlen noch Verzeichnisse und worin du sie schreibst aber das sollte kein Problem sein.
Pseudocode findest du unten.

Code:
array1
array2
array3

for i=0;i<array1.length;i++
  mkdir array1[i]
  for i=0;i<array2.length;i++
    mkdir array2[i]
    for i=0;i<array3.length;i++
      mkdir array3[i]
 
Zuletzt bearbeitet:
Zurück
Oben