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

Forumthread: VBA Ordner erstellen

VBA Ordner erstellen
22.10.2012 13:41:51
gaertner1706
Hallo,
bin bis eben noch eine "Forenjungfrau" hier also meine erste Frage:
Angenommen A1=1 und A2=Ordner
Ich möchte dass z.B. Bei einem Rechtsklick in Zeile A folgender Ordner erstellt wird:
C:\vbaOrdnerErstellen\Ordner\1
einzeln bekomme ich das hin (s.u.) zusammen funktioniert es nicht.
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Ord  As String
'Ord = "C:\vbaOrdnerErstellen\" & Cells(ActiveCell.Row, 2)
'Ord = "C:\vbaOrdnerErstellen\" & Target.Row + 120995
MkDir Ord
If Dir(Ord, vbDirectory)  "" Then
MsgBox "Ordner """ & Ord & """ wurde angelegt"
Else
MsgBox "Ordner nicht vorhanden"
End If
End Sub

End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Ordner erstellen
22.10.2012 14:46:21
Frank
Hallo Unbekannter!
Auf deine Frage weiss ich keinen Rat. Aber auf die Regeln im Forum kann ich dich aufmerksam machen. Hier wird geduzt, so dass man gern nen Gruss mit seinem Namen am Ende aus Höflichkeit sendet, damit man dich auch anreden kann!
L.G. Frank H.!!!

AW: VBA Ordner erstellen
22.10.2012 15:04:44
gaertner1706
Hallo Frank H.! danke für den Hinweis, wie gesagt "Forenjungfrau"
Gruß Kolja

Anzeige
AW: VBA Ordner erstellen
22.10.2012 16:35:14
Rudi
Hallo,
da ist 2x MkDir erforderlich. Sicherheitshalber sogar 3x.
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Ord  As String
Ord = "C:\vbaOrdnerErstellen"
If Dir(Ord, vbDirectory) = "" Then MkDir Ord
Ord = Ord & "\" & [A2]
If Dir(Ord, vbDirectory) = "" Then MkDir Ord
Ord = Ord & "\" & [A1]
If Dir(Ord, vbDirectory) = "" Then MkDir Ord
End Sub

Gruß
Rudi

Anzeige
AW: VBA Ordner erstellen
22.10.2012 20:04:12
gaertner1706
Hallo Rudi,
danke für die schnelle Antwort. Habe den Code auf mein Fallbeispiel angepasst und es funktioniert!!!
Super und schönen Dank.
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Ord  As String
Ord = "C:\vbaOrdnerErstellen\" & Cells(ActiveCell.Row, 2)
If Dir(Ord, vbDirectory) = "" Then MkDir Ord
Ord = Ord & "\" & Target.Row + 120995
If Dir(Ord, vbDirectory) = "" Then MkDir Ord
Ord = Ord & "\" & [A1]
If Dir(Ord, vbDirectory) = "" Then MkDir Ord
End Sub

Gruß Kolja

Anzeige
AW: VBA Ordner erstellen
22.10.2012 16:53:38
haw
Hallo,
hier eine weitere Möglichkeit:
Option Explicit
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
ByVal lpPath As String) As Long
' Legt einen kompletten Verzeichnispfad an
Private Sub PfadAnlegen()
Dim Pfad As String
Pfad = "C:\Daten\Excel\Sonstiges\"
' Verzeichnis erstellen
MakeSureDirectoryPathExists Pfad
End Sub
Gruß
Heinz

Anzeige
AW: VBA Ordner erstellen
22.10.2012 20:06:27
gaertner1706
Hallo Heinz,
danke für Deinen Lösungsansatz. Mir ist es leider nicht gelungen den Code auf mein Fallbeispiel umzuschreiben, aber der Rudi konnte mir helfen.
Gruß Kolja
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA Ordner erstellen in Excel


Schritt-für-Schritt-Anleitung

Um einen Ordner in Excel mit VBA zu erstellen, kannst Du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Projektfenster mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Gib den Code ein: Füge den folgenden Code in das Modul ein:

    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
       Dim Ord As String
       Ord = "C:\vbaOrdnerErstellen\" & Cells(Target.Row, 2)
       If Dir(Ord, vbDirectory) = "" Then MkDir Ord
       Ord = Ord & "\" & Target.Row + 120995
       If Dir(Ord, vbDirectory) = "" Then MkDir Ord
       Ord = Ord & "\" & [A1]
       If Dir(Ord, vbDirectory) = "" Then MkDir Ord
       MsgBox "Ordner """ & Ord & """ wurde angelegt"
    End Sub
  4. Anpassen der Pfade: Ändere den Pfad "C:\vbaOrdnerErstellen\" entsprechend Deinem gewünschten Speicherort.

  5. Speichern und Testen: Speichere Deine Datei als Makro-aktivierte Datei (*.xlsm) und teste den Code durch einen Rechtsklick in der entsprechenden Zeile.


Häufige Fehler und Lösungen

  • Fehler: Ordner wird nicht erstellt

    • Lösung: Stelle sicher, dass Du die richtigen Berechtigungen hast, um im angegebenen Verzeichnis zu schreiben. Überprüfe auch die Pfadsyntax.
  • Fehler: Laufzeitfehler 75 (Pfad nicht gefunden)

    • Lösung: Stelle sicher, dass der Hauptordner (C:\vbaOrdnerErstellen) existiert, bevor Du versuchst, Unterordner zu erstellen.

Alternative Methoden

Wenn Du mit VBA nicht vertraut bist oder eine schnellere Lösung benötigst, kannst Du auch die Windows-Befehlszeile verwenden:

  1. Öffne die Eingabeaufforderung (CMD).
  2. Verwende den Befehl:

    mkdir "C:\vbaOrdnerErstellen\Ordnername"

Diese Methode ist einfach, wenn Du nur einen einzelnen Ordner erstellen möchtest.


Praktische Beispiele

Hier sind einige Beispiele, wie Du mit VBA verschiedene Ordnerstrukturen erstellen kannst:

  1. Aktenordner erstellen:

    Dim Ord As String
    Ord = "C:\Daten\Aktenordner\"
    If Dir(Ord, vbDirectory) = "" Then MkDir Ord
  2. Komplexe Ordnerstruktur:

    Dim HauptOrdner As String
    HauptOrdner = "C:\Daten\Projekt\"
    If Dir(HauptOrdner, vbDirectory) = "" Then MkDir HauptOrdner
    MkDir HauptOrdner & "Unterordner1"
    MkDir HauptOrdner & "Unterordner2"

Tipps für Profis

  • Überprüfe vor dem Erstellen: Verwende If Dir(...) um sicherzustellen, dass der Ordner nicht bereits existiert, bevor Du versuchst, ihn zu erstellen.

  • Fehlerbehandlung einfügen: Füge Fehlerbehandlungsroutinen hinzu, um die Benutzerfreundlichkeit zu erhöhen.

    On Error Resume Next
    MkDir Ord
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie legt man einen neuen Ordner an? Um einen neuen Ordner anzulegen, kannst Du den Befehl MkDir in VBA verwenden. Stelle sicher, dass der Pfad korrekt angegeben ist.

2. Was muss ich tun, wenn der Ordner bereits existiert? Verwende die If Dir(...)-Abfrage, um zu überprüfen, ob der Ordner bereits existiert, bevor Du MkDir aufrufst.

3. Welche Excel-Version benötige ich? Der beschriebene VBA-Code sollte in Excel 2007 und neueren Versionen funktionieren.

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