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

Forumthread: VBA Ordner und Unterordner flexibel erst

VBA Ordner und Unterordner flexibel erst
21.03.2023 07:19:40
Ralf

Hallo zusammen
Kann mir jemand helfen den Code anzupassen?
Ich habe diesen im Internet gefunden, und möchte gerne das in der Spalte B die Namen der UnterOrdner eingetragen werden können.
Ist das möglich?

Besten Dank im Voruas

Option Explicit

Function ordnerda(strPfad As String) As Boolean

If Right(strPfad, 1) = "\" Then strPfad = Left(strPfad, Len(strPfad) - 1)
If LCase(Dir(strPfad, vbDirectory)) = LCase(Split(strPfad, "\")(UBound(Split(strPfad, "\")))) Then ordnerda = True

End Function

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, 1).End(xlUp).Row
strPfad = ThisWorkbook.Path & "\" & Cells(i, 1)
If Not ordnerda(strPfad) Then
MkDir strPfad
MkDir strPfad & "\00_Archiv"
MkDir strPfad & "\01_Korrespondenz"
MkDir strPfad & "\02_SAR"
MkDir strPfad & "\03_Unterlagen"
MkDir strPfad & "\04_Fotos"
End If
Next i
Set fso = Nothing
strText = " Die Ordner mit den Dokumenten wurden angelegt !!!"
MsgBox strText, 64, "Meldung"
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Ordner und Unterordner flexibel erst
21.03.2023 07:57:22
volti
Hallo Ralf,

wenn Du nicht auf Deiner gefundenen Version bestehst, dann könntest Du auch diese Variante nutzen. In A steht der Hauptpfad und in B der Unterordner.
Man kann aber auch alles ungetrennt z.B. in A schreiben oder den Hauptpfad einmalig in einer Variablen vorhalten. Ganz nach Belieben.

Code:


Private Declare PtrSafe Function SHCreateDirectoryExW Lib "Shell32.dll" ( _ ByVal hwnd As LongPtr, ByVal pszPath As LongPtr, ByVal psa As LongPtr) As Long Sub ErstelleOrdner() Dim i As Long, sPfad As String For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row SHCreateDirectoryExW 0, StrPtr(Cells(i, "A") & "\" & Cells(i, "B").Value & "\"), 0 Next i End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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