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

Forumthread: Ordner kopieren und umbenennen per VB

Ordner kopieren und umbenennen per VB
Peter
Hallo,
kann mir jemand helfen?
Ich möchte in Excel ein Makro erstellen, welches ein bereits vorhandenen Ordner (mit Unterverzeichnissen und Dateien) erst kopiert und dann in Abhängigkeit
einer Zelle (z.B. A1) umbenennt.
Wenn in A1 "Test" steht, soll der Ordner also "Test" heißen.
Für Hilfe bzw. Lösungsansätze bin ich euch sehr dankbar.
Gruß
Peter
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Ordner kopieren und umbenennen per VB
24.03.2004 16:57:27
Florian
Hallo, Peter,
schau' einmal in der Excel-Hilfe unter CopyFolder nach (oder war es foldercopy? - bin mir nicht ganz sicher.)
Da findest Du dann auch die anderen Möglichkeiten für Verzeichnisse.
Gruß,
Florian
AW: Ordner kopieren und umbenennen per VB
Norbert
Hallo Peter,
versuch es mal mit Folgendem:
Option Explicit
Dim filesystem As Object
Dim name As String
name = Sheets("Tabelle1").Range("A1")
Set filesystem = CreateObject("Scripting.FileSystemObject")
filesystem.CopyFolder "E:\ALTER_NAME", "E:\" & name
Set filesystem = Nothing
So hat es bei mir gefunkt!
LG
Norbert
Anzeige
AW: Ordner kopieren und umbenennen per VB
Peter
Hallo Norbert,
deine Variante klappt auch bei mir, aber nur wenn der Ordner, den es zu kopieren gilt,
direkt im Root steht, was bei mir nicht geht.
Wenn ich z.B. den Ordner c:\gesamt\daten\ordner1 nach c:\gesamt\daten\ordner2 inclusive aller Unterordner und Dateien unterhalb von ordner1 kopieren möchte, funzt das nicht.
Hast du noch ein Tipp für mich.
Danke
Peter
Anzeige
Alles zurück Klappt doch Vielen Dank, Norbert
24.03.2004 18:31:35
Peter
;

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
Anzeige

Infobox / Tutorial

Ordner kopieren und umbenennen mit Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zum Visual Basic for Applications (VBA) Editor, indem Du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" klickst, dann auf "Einfügen" und "Modul".

  3. Kopiere und füge den folgenden Code ein:

    Option Explicit
    Dim filesystem As Object
    Dim name As String
    
    name = Sheets("Tabelle1").Range("A1").Value
    Set filesystem = CreateObject("Scripting.FileSystemObject")
    filesystem.CopyFolder "C:\gesamt\daten\ordner1", "C:\gesamt\daten\" & name
    Set filesystem = Nothing
  4. Passe den Pfad an, um den gewünschten Ordner zu kopieren. Stelle sicher, dass der Quellordner und der Zielordner existieren.

  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Füge in Zelle A1 den gewünschten Namen für den neuen Ordner ein.

  7. Führe das Makro aus, um den Ordner zu kopieren und umzubenennen.


Häufige Fehler und Lösungen

  • Fehler: "Ordner nicht gefunden"

    • Lösung: Überprüfe den Pfad des Quellordners. Stelle sicher, dass er korrekt eingegeben wurde und der Ordner existiert.
  • Fehler: "Zugriff verweigert"

    • Lösung: Stelle sicher, dass Du die erforderlichen Berechtigungen hast, um auf die Ordner zuzugreifen und sie zu bearbeiten.
  • Fehler: Der Zielordner existiert bereits

    • Lösung: Ändere den Namen in Zelle A1, um einen neuen Ordnernamen zu verwenden, oder lösche den bestehenden Zielordner.

Alternative Methoden

  • Verwendung von PowerShell: Du kannst auch PowerShell verwenden, um Ordner zu kopieren und umzubenennen. Das ist besonders nützlich für komplexe Aufgaben.

    Copy-Item -Path "C:\gesamt\daten\ordner1" -Destination "C:\gesamt\daten\$((Get-Content C:\Pfad\zu\deiner\datei.txt).Trim())" -Recurse
  • Batch-Skripte: Ein einfaches Batch-Skript kann ebenfalls verwendet werden, um Ordner zu kopieren.


Praktische Beispiele

  1. Ordnerstruktur kopieren: Wenn Du nur die Ordnerstruktur ohne Dateien kopieren möchtest, kannst Du den Code entsprechend anpassen:

    ' Nur Ordnerstruktur kopieren
    filesystem.CreateFolder "C:\gesamt\daten\" & name
  2. Kopieren und umbenennen von Excel-Dateien: Du kannst auch Excel-Dateien kopieren und umbenennen:

    filesystem.CopyFile "C:\Pfad\zu\deiner\datei.xlsx", "C:\Pfad\zu\deinem\neuen\Ordner\" & name & ".xlsx"

Tipps für Profis

  • Fehlerbehandlung hinzufügen: Verwende On Error Resume Next, um Fehler während der Ausführung zu ignorieren und sicherzustellen, dass das Skript nicht abbricht.

  • Verwende Variablen für Pfade: Das macht Deinen Code flexibler und einfacher zu verwalten.

  • Dokumentiere Deinen Code: Füge Kommentare hinzu, um den Code für andere (oder Dich selbst in der Zukunft) verständlicher zu machen.


FAQ: Häufige Fragen

1. Wie kann ich nur die Ordnerstruktur kopieren?
Du kannst nur die Ordnerstruktur kopieren, indem Du die Dateien beim Kopieren überspringst und nur die Ordner erstellst.

2. Kann ich VBA verwenden, um Ordner auf einem Netzlaufwerk zu kopieren?
Ja, Du kannst VBA verwenden, um Ordner auf einem Netzlaufwerk zu kopieren, solange Du die erforderlichen Berechtigungen hast.

3. Was mache ich, wenn mein Makro nicht funktioniert?
Überprüfe die Pfade und stelle sicher, dass Du das Makro korrekt ausgeführt hast. Verwende die Debugging-Tools im VBA-Editor, um mögliche Probleme zu identifizieren.

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