Per VBA Ordner anlegen mit Namen aus Zellen
20.11.2024 09:53:14
AxelF1977
in einer produktiven Tabelle habe ich ein Tabellenblatt "MG Werte". In diesem befinden sich Werte in Spalte B, welche jeweils eine Zelle der Spalte belegen. Von B1 - B200 kann alles belegt sein, oder aber auch nur B1. Die Länge der Spalte ist Variabel.
Nun hätte ich gerne eine Schleife, die die Spalte durchläuft, und aus jedem Wert einen Ordner anlegt. Der Pfad ist vorher definiert.
In dem erstellten Unterordner sollen weitere, festbenannte, Unterordner erstellt werden.
Bisher habe ich das sehr rudimentär gelöst. Da ich die ganze Funktionsweise gerade umbaue, hätte ich hier gerne eine schönere Lösung
Bisher geschieht das so (sensible Daten sind durch "Beispiel" geändert.
Private Sub Create_Folder()
Dim strDateiname As String
strFolderPath01 = "C:\Users\" & Environ("Username") & "\Documents\Beispiel01\" & Format(Now, "yyyy") & "\Beispiel02\"
strFolderPath02 = "C:\Users\" & Environ("Username") & "\Documents\Beispiel01\" & Format(Now, "yyyy") & "\Beispiel02\" & Format(Now, "mm") & " " & Format(Now, "mmmm") & " " & Format(Now, "yyyy") & "\"
strFolderPath03 = "C:\Users\" & Environ("Username") & "\Documents\Beispiel01\" & Format(Now, "yyyy") & "\Beispiel02\" & Format(Now, "mm") & " " & Format(Now, "mmmm") & " " & Format(Now, "yyyy") & "\" & Format(Now, "dd.mm") & " " & "Lokal" & "\"
strFolderPath04 = "C:\Users\" & Environ("Username") & "\Documents\Beispiel01\" & Format(Now, "yyyy") & "\Beispiel02\" & Format(Now, "mm") & " " & Format(Now, "mmmm") & " " & Format(Now, "yyyy") & "\" & Format(Now, "dd.mm") & " " & "Lokal" & "\" & Range("F173").Text & "\"
strFolderPath05 = "C:\Users\" & Environ("Username") & "\Documents\Beispiel01\" & Format(Now, "yyyy") & "\Beispiel02\" & Format(Now, "mm") & " " & Format(Now, "mmmm") & " " & Format(Now, "yyyy") & "\" & Format(Now, "dd.mm") & " " & "Lokal" & "\" & Range("F173").Text & "\" & "Beispiel03"
strFolderPath06 = "C:\Users\" & Environ("Username") & "\Documents\Beispiel01\" & Format(Now, "yyyy") & "\Beispiel02\" & Format(Now, "mm") & " " & Format(Now, "mmmm") & " " & Format(Now, "yyyy") & "\" & Format(Now, "dd.mm") & " " & "Lokal" & "\" & Range("F173").Text & "\" & "Beispiel04"
If Dir(strFolderPath01, vbDirectory) = "" Then
' Ordner anlegen
MkDir (strFolderPath01)
Else
' mache irgendwas
End If
If Dir(strFolderPath02, vbDirectory) = "" Then
' Ordner anlegen
MkDir (strFolderPath02)
Else
' mache irgendwas
End If
If Dir(strFolderPath03, vbDirectory) = "" Then
' Ordner anlegen
MkDir (strFolderPath03)
Else
' mache irgendwas
End If
If Dir(strFolderPath04, vbDirectory) = "" Then
' Ordner anlegen
MkDir (strFolderPath04)
Else
' mache irgendwas
End If
If Dir(strFolderPath05, vbDirectory) = "" Then
' Ordner anlegen
MkDir (strFolderPath05)
Else
' mache irgendwas
End If
If Dir(strFolderPath06, vbDirectory) = "" Then
' Ordner anlegen
MkDir (strFolderPath06)
Else
' mache irgendwas
End If
'Ordner öffnen
Call Shell("explorer.exe" & " " & strFolderPath03, vbNormalFocus)
End Sub
Anzeige