Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ordner per Makro erstellen

Ordner per Makro erstellen
Nico
Hallo zusammen!
Ich bin auf der Suche nach einem Makro, mit dem ich per Knopfdruck im Verzeichnis C:\Daten einen Unterordner erstellen kann. Der Name des Ordners steht in Zelle C5. Ach ja: idealerweise soll das Makro prüfen, ob in diesem Verzeichnis schon ein Ordner mit diesem Namen besteht - wenn ja soll natürlich kein neuer erstellt werden.
Danke schön für eure Hilfe.
Grüße,
Nico
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Ordner per Makro erstellen
30.07.2010 09:44:39
Tino
Hallo,
kannst ja mal testen.
Private Declare Function apiCreateFullPath _
Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal lpPath As String) As Long

Sub Beispiel()
Dim strOrdner As String
Dim lngPahth As Long

strOrdner = Range("C5")
strOrdner = IIf(Right$(strOrdner, 1) = "\", strOrdner, strOrdner & "\")
strOrdner = IIf(Left$(strOrdner, 1) = "\", "", "\") & strOrdner
strOrdner = "C:\Daten" & strOrdner

lngPahth = apiCreateFullPath(strOrdner)

If lngPahth = 1 Then
    MsgBox "Ordner wurde angelegt oder ist schon vorhanden", vbInformation
Else
    MsgBox "Ordner konnte nicht angelegt oder gefunden werden!", vbCritical
End If

End Sub
Gruß Tino
Anzeige
Ohne API-Funktion
30.07.2010 09:58:56
JogyB
Hallo Nico,
hier ein Code ohne Verwendung von API-Funktionen:
Sub ordNerErstellen()
Const paTh = "c:\temp\test\" ' Anpassen!
On Error GoTo errorHandler
With ActiveSheet.Cells(5, 3)
If Dir(paTh & .Text, vbDirectory) = "" Then
MkDir paTh & .Value
Else
MsgBox ("Verzeichnis exisitiert bereits")
End If
End With
Exit Sub
errorHandler:
MsgBox ("Fehler beim Anlegen des Verzeichnisses.")
End Sub

Gruß, Jogy
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Ordner per Makro erstellen in Excel


Schritt-für-Schritt-Anleitung

Um einen Ordner in Excel per Makro zu erstellen, kannst Du folgende Schritte befolgen. Dies funktioniert in Excel 2010 und höher.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:

    Sub ordNerErstellen()
       Const paTh = "C:\Daten\" ' Anpassen!
       On Error GoTo errorHandler
       With ActiveSheet.Cells(5, 3)
           If Dir(paTh & .Text, vbDirectory) = "" Then
               MkDir paTh & .Value
           Else
               MsgBox ("Verzeichnis existiert bereits")
           End If
       End With
       Exit Sub
    errorHandler:
       MsgBox ("Fehler beim Anlegen des Verzeichnisses.")
    End Sub
  4. Ändere den Pfad in der Konstante paTh, falls nötig, um den gewünschten Speicherort deines neuen Ordners anzupassen.

  5. Lass das Makro laufen:

    • Gehe zurück zu Excel, drücke ALT + F8, wähle ordNerErstellen und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler beim Anlegen des Verzeichnisses:

    • Prüfe, ob der Pfad korrekt ist und ob Du die erforderlichen Berechtigungen zum Erstellen von Ordnern hast.
  • Verzeichnis existiert bereits:

    • Das Makro prüft vor dem Erstellen, ob der Ordner bereits vorhanden ist. Stelle sicher, dass der Name in Zelle C5 korrekt ist.

Alternative Methoden

Wenn Du eine API-Funktion verwenden möchtest, kannst Du den folgenden VBA-Code nutzen:

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

Sub Beispiel()
    Dim strOrdner As String
    Dim lngPahth As Long

    strOrdner = Range("C5")
    strOrdner = "C:\Daten\" & strOrdner

    lngPahth = apiCreateFullPath(strOrdner)

    If lngPahth = 1 Then
        MsgBox "Ordner wurde angelegt oder ist schon vorhanden", vbInformation
    Else
        MsgBox "Ordner konnte nicht angelegt oder gefunden werden!", vbCritical
    End If
End Sub

Diese Methode verwendet die API-Funktion, um sicherzustellen, dass der Ordner erstellt wird.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du das Makro anpassen kannst:

  • Ordner mit Datum erstellen:

    ActiveSheet.Cells(5, 3).Value = Format(Date, "YYYY-MM-DD")
  • Unterordner erstellen:

    Const paTh = "C:\Daten\Unterordner\" ' Anpassen!

Durch diese Anpassungen kannst Du das Makro vielseitig nutzen und verschiedene Ordnerstrukturen in Excel erstellen.


Tipps für Profis

  • Automatisiere die Ausführung: Du kannst das Makro an einen Button in Excel binden, um es noch benutzerfreundlicher zu gestalten.
  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung, um bei Problemen genauere Informationen zu erhalten.
  • Verwende Variablen: Halte den Code flexibel, indem Du Variablen für die Pfade und Ordnernamen verwendest.

FAQ: Häufige Fragen

1. Was mache ich, wenn das Makro nicht funktioniert?
Stelle sicher, dass die Makros in Excel aktiviert sind und dass Du die richtigen Berechtigungen für den Ordnerspeicherort hast.

2. Kann ich das Skript anpassen, um mehrere Ordner gleichzeitig zu erstellen?
Ja, Du kannst eine Schleife verwenden, um mehrere Ordner zu erstellen. Achte darauf, die Namen in einer Liste zu hinterlegen.

3. Funktioniert das Makro auch auf Windows 10?
Ja, das Makro ist mit Windows 10 und höher kompatibel, solange Du eine entsprechende Excel-Version verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige