Microsoft Excel

Herbers Excel/VBA-Archiv

Ordner aus Liste automatisch erstellen | Herbers Excel-Forum


Betrifft: Ordner aus Liste automatisch erstellen von: nicospostbox
Geschrieben am: 25.11.2009 16:54:55

Hallo zusammen!

Ich habe eine Frage bzgl. eines Makros:
Ich möchte gerne für eine Liste (ID steht in Spalte A beginnend ab A3) per Makro automatisch einen Ordner je Listeneintrag erstellen. Der Pfad, in dem die Ordner erstellt werden sollen, steht in B2.

Die Liste kann unterschiedlich viele Einträge haben, enthält aber auf jeden Fall keine Leerzeilen.

Hat jemand eine Idee? Danke vielmals für Eure Hilfe!

Grüße,
Nico

  

Betrifft: VBA: Ordner aus Listeneinträge erstellen von: NoNet
Geschrieben am: 25.11.2009 17:01:48

Hallo Nico,

mit diesem Makro-Code sollte das funktionieren :

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

Sub Pfad_erzeugen()
    Dim lngResult As Long, lngZ As Long
    Dim strOrdner As String, strUnterordner As String
    
    strOrdner = [B2].Value & "\"      'Mit "\" am Ende !!
    'Oder auch :
    'strOrdner = "C:\Irgend\ein\beliebiger\langer\Pfad\" 'Mit "\" am Ende !!
    
    For lngZ = 3 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(lngZ, 1) <> "" Then lngResult = MakePath(strOrdner)
    Next
End Sub
Gruß, NoNet


  

Betrifft: WICHTIGE Code-Korrektur : Unterordner von: NoNet
Geschrieben am: 25.11.2009 17:03:38

Sorry Nico,

habe in meinem Code oben doch glatt den Unterordner vergessen ;-).
Hier der korrigierte Code :

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

Sub Pfad_erzeugen()
    Dim lngResult As Long, lngZ As Long
    Dim strOrdner As String
    
    strOrdner = [B2].Value & "\"      'Mit "\" am Ende !!
    'Oder auch :
    'strOrdner = "C:\Irgend\ein\beliebiger\langer\Pfad\" 'Mit "\" am Ende !!
    
    For lngZ = 3 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(lngZ, 1) <> "" Then lngResult = MakePath(strOrdner & Cells(lngZ, 1).Value)
    Next
End Sub
Gruß, NoNet


  

Betrifft: AW: WICHTIGE Code-Korrektur : Unterordner von: nicospostbox
Geschrieben am: 25.11.2009 17:17:28

Das ging ja schnell! Danke!
Aber leider funktioniert's nicht! Das Makro meldet zwar keinen Fehler, aber es werden auch keine Ordner erstellt. Kurz: es passiert nix!

Das du evtl. eine Idee?

Danke & Grüße,
Nico


  

Betrifft: Nochmal sorry : Da fehlte ein "\" am Ende von: NoNet
Geschrieben am: 25.11.2009 17:27:17

Uuuup, Nico - das kommt davon, wenn man den Code nicht selbst vorher testet ;-)

Da fehlte tatsächlich noch ein "\" am Ende - korrigiere einfach die entscheidende Zeile :

If Cells(lngZ, 1) <> "" Then lngResult = MakePath(strOrdner & Cells(lngZ, 1).Value & "\")

Gruß, NoNet


  

Betrifft: AW: Nochmal sorry : Da fehlte ein "\" am Ende von: nicospostbox
Geschrieben am: 25.11.2009 17:30:24

Erste Sahne!
Danke schön! :-)


Beiträge aus den Excel-Beispielen zum Thema "Ordner aus Liste automatisch erstellen"