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

Forumthread: Ordner/ Dateien nach Wert durchsuchen und ausgeben

Ordner/ Dateien nach Wert durchsuchen und ausgeben
Jan

Hallo zusammen,
ich stehe vor folgendem Problem und bräuchte bitte eure Hilfe.
Ich möchte einen Wert in allen Dateien (xls, alle Tabellenblätter, Wert kann irgendwo stehen) eines Ordners suchen und wenn dieser gefunden wurde, dann soll aus dieser Datei die erste Zeile (bis Spalte DZ) und die Zeile (bis Spalte DZ) in der der Wert gefunden wurde ausgegeben werden.
Es kann vorkommen, das Werte in zwei verschiedenen Dateien stehen.
Damit er nicht alle Ordner durchsucht, würde ich gerne jedes mal angeben in welchem Verzeichnis der Wert zu finden ist.
Bitte schaut euch meine Beispieldatei https://www.herber.de/bbs/user/81061.xls an, ob ihr mir irgendwie helfen könnt. Wenn das zu kompliziert ist, dann evtl. mit Variante B.
Variante B
In Zelle A3 den Suchtext
In Zelle B3 den Ordnernamen
Kompletten Pfad inkl. Dateinamen würde ich angeben
Beispiele:
Suche "H-DD 2356" im Ordner "Klaus" in folgenden Dateien:
c:\Namen\Klaus\Datei1.xls
c:\Namen\Klaus\Beispiel 3.xls
c:\Namen\Klaus\Übersicht 2012.xls
Suche "12.05.2012" im Ordner "Sven" in folgenden Dateien:
c:\Namen\Sven\Datei1.xls
c:\Namen\Sven\Hallo 123.xls
c:\Namen\Sven\Test 2012.xls
Die Ergebnisse sollen wie in der Beispieldatei im Tabellenblatt "Ergebnis" angezeigt werden.
Wenn es für die Suche einfacher wäre, könnte auch jede Datei geöffnet und wieder geschlossen werden.
Ich hoffe ihr könnt mir helfen. Gerne mit VBA (anders wohl auch nicht möglich) Excel Version wäre 2003, schön wenn es auch unter 2007 liefen würde.
Gruß
Jan
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Ordner/ Dateien nach Wert durchsuchen und ausgeben
18.07.2012 21:40:59
fcs
Hallo Jan,
ich hab dir basierend auf einer vorhandenen Lösung mal etwas erstellt.
Ich hab die Datei unter Excel 2010 erstellt. Sie sollte aber auch unter 2003/2007 funktionieren. Dabei werden die zu durchsuchenden Dateien jeweils geöffnet und nach der Suche wieder geschlossen.
Die Suche nach Datumswerten funktioniert leider nicht immer wie gewünscht - insbesondere wenn keine Standardformate verwendet werden..
Teste das mal mit deinen Dateien, evtl. muss das Makro hier angepasst werden und mit Vergleich der Zellwerte statt mit der Suchfunktion die Zeile mit dem Suchwert ermittelt werden.
Das Verzeichnis zum Suchbegriff kannst du per Doppelklick in die Zelle in Spalte C auswählen.
Gruß
Franz
https://www.herber.de/bbs/user/81075.xls
Anzeige
AW: Ordner/ Dateien nach Wert durchsuchen und ausgeben
19.07.2012 21:59:08
Jan
Hallo Franz,
auf den ersten Blick würde ich sagen, es ist genau so wie ich mir das vorgestellt habe. Echt super von dir. Werde es am WE mal ausgiebig testen. Das mit dem Datum ist nicht so schlimm, es werden eher Texte gesucht.
Ganz klasse finde ich das mit der Verzeichnisauswahl.
Vielen Dank erstmal. Ich bin jetzt schon begeistert.
Gruß
Jan
Anzeige
;

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 und Dateien nach Wert durchsuchen und ausgeben


Schritt-für-Schritt-Anleitung

Um in mehreren Excel-Dateien nach einem bestimmten Wert zu suchen und die entsprechenden Zeilen auszugeben, kannst Du ein VBA-Makro verwenden. Hier sind die Schritte:

  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 und füge den folgenden VBA-Code ein:

    Sub SucheInExcelDateien()
       Dim wsE As Worksheet
       Dim wkb As Workbook
       Dim suchText As String
       Dim verzeichnis As String
       Dim datei As String
       Dim zeile As Range
       Dim gefunden As Boolean
    
       ' Hier die Suchtexte und das Verzeichnis anpassen
       suchText = Sheets("Ergebnis").Range("A3").Value
       verzeichnis = Sheets("Ergebnis").Range("B3").Value
    
       ' Alle Excel-Dateien im Verzeichnis durchsuchen
       datei = Dir(verzeichnis & "*.xls*")
       Set wsE = Sheets("Ergebnis")
       wsE.Cells.Clear
    
       Do While datei <> ""
           Set wkb = Workbooks.Open(verzeichnis & datei)
           gefunden = False
    
           For Each zeile In wkb.Sheets(1).UsedRange.Rows
               If Application.WorksheetFunction.CountIf(zeile, suchText) > 0 Then
                   wsE.Cells(wsE.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = "Gefunden in: " & datei
                   wsE.Cells(wsE.Rows.Count, 1).End(xlUp).Offset(0, 1).Value = zeile.Address
                   gefunden = True
               End If
           Next zeile
    
           wkb.Close False
           datei = Dir
       Loop
    
       If Not gefunden Then
           MsgBox "Keine Übereinstimmungen gefunden."
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Gib in Zelle A3 den Suchtext und in Zelle B3 den vollständigen Pfad des Ordners ein.

  6. Führe das Makro aus:

    • Gehe zu Entwicklertools > Makros, wähle SucheInExcelDateien und klicke auf Ausführen.

Nun werden alle Excel-Dateien im angegebenen Verzeichnis durchsucht und die Ergebnisse im Tabellenblatt „Ergebnis“ angezeigt.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Lösung: Überprüfe, ob der Pfad in Zelle B3 korrekt ist und dass die Datei tatsächlich existiert.
  • Fehler: Keine Übereinstimmungen gefunden

    • Lösung: Stelle sicher, dass der Suchtext in Zelle A3 korrekt eingegeben wurde und dass er in den Excel-Dateien vorhanden ist.
  • Fehler: Makro läuft nicht

    • Lösung: Stelle sicher, dass Makros in Deinen Excel-Einstellungen aktiviert sind.

Alternative Methoden

Falls Du keine VBA-Lösungen verwenden möchtest, kannst Du auch manuell in Excel nach Werten suchen, indem Du:

  1. Die Suchfunktion (STRG + F) nutzt, um durch die Dateien zu navigieren.
  2. Excel-Dateien in eine neue Arbeitsmappe einfügst und dann die integrierten Funktionen von Excel verwendest, um die Daten zu analysieren.

Allerdings ist dies weniger effizient, wenn Du viele Dateien durchsuchen möchtest.


Praktische Beispiele

Angenommen, Du möchtest in mehreren Excel-Dateien nach dem Text "H-DD 2356" suchen. Du würdest in Zelle A3 den Text "H-DD 2356" und in B3 den Pfad zu Deinem Ordner eingeben, z.B. C:\Namen\Klaus\.

Führe dann das Makro aus, und alle Dateien in diesem Ordner werden durchsucht. Die Ergebnisse werden im Blatt „Ergebnis“ aufgelistet.


Tipps für Profis

  • Verwende Filter in der Excel-Tabelle, um die Ergebnisse einfacher zu analysieren.
  • Erstelle eine Fehlerbehandlung im VBA-Code, um spezifische Fehlermeldungen zu erhalten, wenn Probleme auftreten.
  • Teste das Makro regelmäßig mit verschiedenen Suchtexten, um sicherzustellen, dass es robust ist.

FAQ: Häufige Fragen

1. Kann ich das Makro auch in Excel 2007 verwenden? Ja, das Makro wurde so erstellt, dass es auch in Excel 2003 und 2007 funktioniert.

2. Wie kann ich die Ergebnisse als Textdatei speichern? Du kannst die Ergebnisse von Excel einfach kopieren und in einen Texteditor einfügen oder ein weiteres VBA-Skript erstellen, das die Daten in eine Textdatei exportiert.

3. Gibt es eine Möglichkeit, die Suche zu automatisieren? Ja, Du kannst das Makro so anpassen, dass es automatisch zu einem bestimmten Zeitpunkt oder bei bestimmten Ereignissen ausgeführt wird.

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