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

Forumthread: Dateien aus Liste erstellen

Dateien aus Liste erstellen
Rudolph
Hallo,
ich habe eine Liste in Excel (1 Spalte, darin sind 100 Namen enthalten). Nun möchte ich das er für alle Namen in dieser Liste Ordner und Dateien erstellt.
Für die Ordner habe ich folgende Funktion:

Sub x()
Dim i As Byte
For i = 1 To 100
If Cells(i, 1)  "" Then MkDir "C:\Users\Andre\Desktop\XXXREPORT\" & Cells(i, 1).Value
Next
End Sub

Nur wie geht das für die Dateien?
Vielen Dank für Eure Hilfe im voraus.

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateien aus Liste erstellen
24.08.2012 13:08:26
Rudi
Hallo,
sowas?
Sub x()
Dim i As Integer
Const sPfad As String = "C:\Users\Andre\Desktop\XXXREPORT\"
For i = 1 To 100
If Cells(i, 1)  "" Then
MkDir sPfad & Cells(i, 1).Value
With Workbooks.Add
.SaveAs sPfad & Cells(i, 1) & "\" & Cells(i, 1)
.Close
End With
End If
Next
End Sub

Gruß
Rudi

Anzeige
AW: Dateien aus Liste erstellen
24.08.2012 14:58:44
Rudolph
He,
leider kommt deiner lösung immer eine Fehlermeldung:
Laufzeitenfehler '1004':
Auf die Datei konnte nicht zugegriffen werden

AW: Dateien aus Liste erstellen
24.08.2012 15:26:07
Rudolph
Diese Funktion erstellt eine einzelne Datei:
Private Sub CommandButton1_Click()
Dim objExcel As Object
Set objExcel = CreateObject("Excel.Application")
With objExcel
.Visible = False
.Workbooks.Add
.ActiveWorkbook.SaveAs "C:\Users\Andre\Desktop\Controlling Daten ordnen\temp\test.xlsx"
.Quit
End With
Set objExcel = Nothing
End Sub
Aber wie erweitere ich sie so das alle namen der Liste als Datei gespeichert werden?

Anzeige
AW: Dateien aus Liste erstellen
24.08.2012 16:06:52
Rudi
Hallo,
so aber
Sub x()
Dim i As Integer, sFile As String
Const sPfad As String = "C:\Users\Andre\Desktop\XXXREPORT\"
For i = 1 To 100
If Cells(i, 1)  "" Then
sFile = Cells(i, 1)
MkDir sPfad & sFile
With Workbooks.Add
.SaveAs sPfad & sFile & "\" & sFile
.Close
End With
End If
Next
End Sub
Gruß
Rudi

Anzeige
AW: Dateien aus Liste erstellen
24.08.2012 17:12:48
Rudolph
DANKE! Funktioniert :)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dateien aus Liste erstellen in Excel


Schritt-für-Schritt-Anleitung

Um aus einer Liste in Excel Ordner und Dateien zu erstellen, kannst du die folgenden Schritte befolgen:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe oder öffne deine bestehende Liste mit den Namen in einer Spalte.

  2. Aktiviere die Entwicklertools: Gehe zu Datei > Optionen > Menüband anpassen und aktiviere das Kontrollkästchen für "Entwicklertools".

  3. Öffne den VBA-Editor: Klicke auf Entwicklertools > Visual Basic.

  4. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Dokument)" und wähle Einfügen > Modul.

  5. Kopiere den folgenden VBA-Code in das Modul:

    Sub DateienErstellen()
       Dim i As Integer
       Const sPfad As String = "C:\Users\Andre\Desktop\XXXREPORT\"
       For i = 1 To 100
           If Cells(i, 1) <> "" Then
               MkDir sPfad & Cells(i, 1).Value
               With Workbooks.Add
                   .SaveAs sPfad & Cells(i, 1) & "\" & Cells(i, 1)
                   .Close
               End With
           End If
       Next
    End Sub
  6. Ändere den Pfad: Stelle sicher, dass der Pfad in sPfad zu deinem gewünschten Speicherort führt.

  7. Führe das Makro aus: Klicke im VBA-Editor auf Ausführen oder drücke F5.

Du wirst sehen, dass für jeden Namen in deiner Liste sowohl ein Ordner als auch eine Datei erstellt wird.


Häufige Fehler und Lösungen

  • Laufzeitfehler '1004': Wenn du die Fehlermeldung "Auf die Datei konnte nicht zugegriffen werden" erhältst, überprüfe, ob der Pfad korrekt ist und dass du die nötigen Berechtigungen hast, um Dateien an diesem Ort zu erstellen.
  • Ordner existiert bereits: Wenn der Ordner bereits existiert, wird der Befehl MkDir fehlschlagen. Um dies zu umgehen, kannst du eine Überprüfung hinzufügen, ob der Ordner bereits vorhanden ist.
If Dir(sPfad & Cells(i, 1).Value, vbDirectory) = "" Then
    MkDir sPfad & Cells(i, 1).Value
End If

Alternative Methoden

Neben VBA gibt es auch andere Methoden, um eine Liste in Excel zu erstellen. Du kannst beispielsweise:

  • Power Query verwenden, um Daten aus verschiedenen Quellen zu kombinieren und zu organisieren.
  • Formeln wie VERKETTEN oder TEXTVERKETTEN nutzen, um neue Listen zu erstellen.
  • Eine Auswahlliste erstellen: Du kannst mit der Datenvalidierung eine Auswahlliste erstellen, die dir hilft, die Eingaben zu kontrollieren.

Praktische Beispiele

  1. Bestellliste erstellen: Wenn du eine Bestellliste in Excel brauchst, kannst du die Namen in einer Spalte und die Bestellnummern in einer anderen Spalte listen.
  2. Werkzeugliste Excel: Erstelle eine Liste deiner Werkzeuge, indem du die Namen und die Anzahl in zwei Spalten aufschreibst und dann mit dem obigen VBA-Code die Dateien für jedes Werkzeug generierst.
  3. Excel Archiv erstellen: Du kannst auch eine Archivfunktion implementieren, die ältere Dateien in einen bestimmten Ordner verschiebt.

Tipps für Profis

  • Makros automatisieren: Du kannst das Makro so einstellen, dass es sich automatisch beim Öffnen der Datei ausführt.
  • Sicherheitseinstellungen anpassen: Überprüfe deine Makrosicherheitseinstellungen unter Entwicklertools > Makrosicherheit, um sicherzustellen, dass dein Makro ohne Einschränkungen ausgeführt wird.
  • Dokumentation: Dokumentiere deine VBA-Codes gut, damit du später leichter verstehst, was jeder Teil des Codes macht.

FAQ: Häufige Fragen

1. Wie kann ich eine Auswahlliste in Excel erstellen?
Um eine Auswahlliste in Excel zu erstellen, gehe zu Daten > Datenvalidierung und wähle "Liste" aus. Gib die Werte ein, die erscheinen sollen.

2. Kann ich mit VBA auch Ordner auf einem Netzlaufwerk erstellen?
Ja, du kannst mit VBA auch Ordner auf einem Netzlaufwerk erstellen, solange du die richtigen Berechtigungen hast und der Pfad korrekt ist.

3. Welche Excel-Version benötige ich für die Verwendung von VBA?
VBA ist in den meisten modernen Excel-Versionen enthalten. Achte darauf, dass du eine Version ab Excel 2010 oder neuer verwendest, um die besten Ergebnisse zu erzielen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige