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

Forumthread: Inhaltsverzeichnis aus Ordnern erstellen

Inhaltsverzeichnis aus Ordnern erstellen
20.05.2008 10:04:58
Gerhard
Hallo, ich schon wieder...
Irgendwie verstehe ich die Archiv Suche nicht. Ich suche seit gestern ein Script, das mir in einem bestimmten Ordner alle Excelsheets ausgibt (eine .ini Datei liegt mit in dem Ordner, sonst nur Excel Mappen!) und Werte aus drei Zellen ausliest und die mir auf ein Sheet bringt incl. Hyperlink zu der betreffenden Datei.
Kann doch ned sein , das ich der erste hier bin der so etwas in der Art benötigt?
Hat jemand vllt soetwas "rumliegen", an dem ich mich versuchen kann es für meine Bedürfnisse umzuschreiben, bzw. kann mir jemand so etwas schreiben?
Ordner ist auf C:\Schriftverkehr\
Zellen die ausgelesen werden sollen:
Tabelle1 - Zelle B2 ; Zelle (Namen) "NUMMER" ; Zelle N17
Aussehen sollte es wenn möglich so:
Hyperlink Dateinamen - Inhalt Zelle B2 - Inhalt Zelle "Nummer" - Inhalt Zelle N17
Gruß Gerhard

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhaltsverzeichnis aus Ordnern erstellen
20.05.2008 10:23:00
Gerhard
Hallo Hajo....
wow... mächtig dat Dingens, aber für meine Kenntnisse ne Nummer zu groß!!!
Gibts das auch in "einfacher", da sind viel zu viele Dinge dabei die ich ja für mein Problem ned brauche.
Ich dachte an was einfaches kleines, wo der Ordnerpfad schon angelegt ist, das beim Öffnen der Mappe automatisch startet. Mal ganz davon abgesehen, das ich ned wirklich durchblicke, wo ich das auslesen meiner gewünschten Zellen einfügen muss (von dem "wie ich das machen muss" red ich noch gar ned :) )
Trotzdem Danke, ich heb mir das Ding aber auf jeden Fall mal auf, wer weiss für was ich es noch benutzen kann.
LG Gerhard

Anzeige
AW: Inhaltsverzeichnis aus Ordnern erstellen
20.05.2008 11:20:46
Daniel
Hi
prinzipell würde ich dir empfehlen, klein anzufangen und den Code Schritt für Schritt selber aufzubauen.
dann verstehtst du, was passiert und kannst den Code selber korrigieren und anpassen.
Mal so als Ansatzt
um ein Verzeichnis auszulesen, kannst du die DIR-Funktion verwenden (dazu auch mal in der Hilfe nachlesen)
ein Code dazu wäre:

Option Explicit
Sub Verzeichnis_auslesen()
Dim strPfad As String
Dim strDatei As String
Dim Zeile As Long
strPfad = "C:\Schriftverkehr\"
strDatei = Dir(strPfad & "*.xls")
Range("A:D").EntireColumn.Delete
Range("A1").Value = "Inhalt von: " & strPfad
Zeile = 2
Do Until strDatei = ""
'--- Pfad eintragen
Cells(Zeile, 1) = strDatei
'--- Hyperlink setzen
ActiveSheet.Hyperlinks.Add Anchor:=Cells(Zeile, 1), _
Address:=strPfad & strDatei, _
TextToDisplay:=strDatei
'--- Zellwerte auslesen
Cells(Zeile, 2).Formula = "='" & strPfad & "[" & strDatei & "]Tabelle1'!$B$2"
Cells(Zeile, 3).Formula = "='" & strPfad & strDatei & "'!Nummer"
Cells(Zeile, 4).Formula = "='" & strPfad & "[" & strDatei & "]Tabelle1'!$N$17"
'--- Zeilenzähler erhöhen und nächste Datei auslesen
Zeile = Zeile + 1
strDatei = Dir()
Loop
End Sub


ich hab die Sachen mit dem Hyperink und den Fernbezügen mal eingebaut, aber so Sachen findest du am leichtesten raus, wenn du die Aktion von Hand ausführst und dabei den Makro-Recorder mitlaufen lässt.
der Code muss dann meistens zwar noch angepasst werden, aber du siehst, wie der Befehl funktioniert.
Gruß, Daniel

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Inhaltsverzeichnis aus Ordnern erstellen


Schritt-für-Schritt-Anleitung

Um ein Inhaltsverzeichnis aus Ordnern in Excel zu erstellen, kannst du die folgende VBA-Prozedur verwenden. Diese Schritt-für-Schritt-Anleitung führt dich durch den Prozess:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Kopiere und füge den folgenden Code in das Modul ein:

    Option Explicit
    Sub Verzeichnis_auslesen()
        Dim strPfad As String
        Dim strDatei As String
        Dim Zeile As Long
        strPfad = "C:\Schriftverkehr\"
        strDatei = Dir(strPfad & "*.xls")
        Range("A:D").EntireColumn.Delete
        Range("A1").Value = "Inhalt von: " & strPfad
        Zeile = 2
        Do Until strDatei = ""
            '--- Pfad eintragen
            Cells(Zeile, 1) = strDatei
            '--- Hyperlink setzen
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(Zeile, 1), _
            Address:=strPfad & strDatei, _
            TextToDisplay:=strDatei
            '--- Zellwerte auslesen
            Cells(Zeile, 2).Formula = "='" & strPfad & "[" & strDatei & "]Tabelle1'!$B$2"
            Cells(Zeile, 3).Formula = "='" & strPfad & strDatei & "'!Nummer"
            Cells(Zeile, 4).Formula = "='" & strPfad & "[" & strDatei & "]Tabelle1'!$N$17"
            '--- Zeilenzähler erhöhen und nächste Datei auslesen
            Zeile = Zeile + 1
            strDatei = Dir()
        Loop
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus: Drücke ALT + F8, wähle Verzeichnis_auslesen und klicke auf Ausführen.

Das Skript erstellt nun ein Inhaltsverzeichnis für Ordner, das alle Excel-Dateien in dem angegebenen Verzeichnis auflistet und die gewünschten Zellwerte ausliest.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Lösung: Überprüfe den angegebenen Ordnerpfad. Stelle sicher, dass der Pfad korrekt ist und die Dateien tatsächlich vorhanden sind.
  • Fehler: "Zelle nicht gefunden"

    • Lösung: Vergewissere dich, dass die angegebenen Zellen (B2, "Nummer", N17) in den Excel-Dateien existieren und richtig benannt sind.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch manuell ein Inhaltsverzeichnis in Excel erstellen:

  1. Erstelle eine Liste aller Dateien in einem Ordner mithilfe der Eingabeaufforderung:
    • Öffne die Eingabeaufforderung und navigiere zu deinem Ordner.
    • Gib den Befehl dir *.xls /b > dateiliste.txt ein, um eine Textdatei mit den Dateinamen zu erstellen.
  2. Importiere die Textdatei in Excel und füge Hyperlinks zu den Dateien hinzu.

Praktische Beispiele

Ein praktisches Beispiel für die Verwendung des Makros könnte so aussehen:

  • Ordnerpfad: C:\Schriftverkehr\
  • Excel-Dateien: Projekt1.xlsx, Projekt2.xlsx
  • Ausgabe im Inhaltsverzeichnis:

    Dateiname Inhalt Zelle B2 Inhalt Zelle Nummer Inhalt Zelle N17
    Projekt1.xlsx Beispielwert1 001 WertN17_1
    Projekt2.xlsx Beispielwert2 002 WertN17_2

Die Hyperlinks führen direkt zu den Dateien.


Tipps für Profis

  • Nutze die Makro-Aufzeichnung, um herauszufinden, wie Excel bestimmte Aktionen ausführt. Dies hilft dir, den VBA-Code besser zu verstehen.
  • Experimentiere mit der DIR-Funktion, um verschiedene Dateitypen oder spezifische Ordnerstrukturen auszulesen.
  • Erstelle eine Kunstmappe mit Inhaltsverzeichnis, um die Übersichtlichkeit deiner Projekte zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich das Makro automatisch beim Öffnen der Datei ausführen? Du kannst das Makro im Workbook_Open-Ereignis platzieren. Gehe dazu in den VBA-Editor und füge den folgenden Code in das ThisWorkbook-Modul ein:

Private Sub Workbook_Open()
    Call Verzeichnis_auslesen
End Sub

2. Kann ich den Ordnerpfad dynamisch ändern? Ja, du kannst eine Eingabemaske erstellen, um den Benutzer nach dem Pfad zu fragen, oder den Pfad in einer bestimmten Zelle speichern und im Code darauf verweisen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige