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

Dateinamen in Ordner vergleichen

Forumthread: Dateinamen in Ordner vergleichen

Dateinamen in Ordner vergleichen
28.05.2003 10:21:10
christian
Hallo

ich habe eine Exceltabelle in der Plannamen stehen (gleich Dateinamen). Ich möchte nun in verschiedenen Ordnern überprüfen, welche Dateien sich in diesem Befinden und dann entsprechend beim vorhandensein in diesem Ordner soll in der Splate neben dem Dateinamen ein -X- eingetragen werden.
Wie kann ich einen Ordner ansteuen, so dass mit die Dateinamen mit den Namen in meiner Tabelle verglichen werden???

Danke

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Dateinamen in Ordner vergleichen
28.05.2003 10:27:32
Nike

Hi,
mit dir mal ansteuern...
sub test()
'in A1 steht c:\verzeichnis\
Pfad=Range("A1")
if dir(Pfad & "Test.xls")<>"" then
msgbox "Datei vorhanden"
end if

End sub

Bye

Nike

Re: Dateinamen in Ordner vergleichen
28.05.2003 11:07:18
christian

Hi
habe es mal mit Deinem Vorschlag versucht. Mein Code läuft durch, aber ohne das gewünscht Ergebniss.
Vielleicht entdeckst Du ja etwas, was falsch im Code ist.

Sub Vergleich()
Dim LZ
Dim ws As Worksheet
Dim Datei
Dim i

Set ws = ActiveSheet


LZ = ws.Cells(Rows.Count, 2).End(xlUp).Row

'in A1 steht c:\verzeichnis\
Pfad = "p:\Ausschreibung\Planung\Pläne\Los Fenster" 'Range("A1").Value

For i = 10 To LZ Step 1
If Cells(i, 3).Value <> "" Then
Datei = Cells(i, 3).Value & ".plt"
If Datei = Dir(Pfad & Datei) Then
'Cells(i, 7).Interior.ColorIndex = 15
Cells(i, 7).Value = x
End If
End If
Next i

Set ws = Nothing
End Sub


Anzeige
Re: Dateinamen in Ordner vergleichen
28.05.2003 11:16:31
Nike

Hi,
es fehlt der abschließende \ im Pfad!

ich hab extra geschrieben:
'in A1 steht c:\verzeichnis\
und du hast in deinem Pfad
Pfad = "p:\Ausschreibung\Planung\Pläne\Los Fenster"
ohne "\"

Bye

Nike

Re: Dateinamen in Ordner vergleichen
28.05.2003 11:39:01
Christian

Jaja

die Schusselfehler.

Dank Dir

Anzeige

Infobox / Tutorial

Dateinamen in Ordner vergleichen mit Excel


Schritt-für-Schritt-Anleitung

Um Dateinamen in verschiedenen Ordnern mit einer Excel-Tabelle zu vergleichen, kannst du folgende Schritte ausführen:

  1. Vorbereitung der Excel-Tabelle: Stelle sicher, dass die Dateinamen in einer Spalte (z.B. Spalte C) deiner Excel-Tabelle aufgelistet sind.

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

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (deineDatei.xlsx)" und wähle Einfügen > Modul.

  4. Code eingeben: Kopiere den folgenden Code in das Modul:

    Sub Vergleich()
        Dim LZ As Long
        Dim ws As Worksheet
        Dim Datei As String
        Dim i As Long
        Dim Pfad As String
    
        Set ws = ActiveSheet
        Pfad = "p:\Ausschreibung\Planung\Pläne\Los Fenster\" ' Achte auf den abschließenden '\'
    
        LZ = ws.Cells(Rows.Count, 3).End(xlUp).Row
    
        For i = 10 To LZ
            If Cells(i, 3).Value <> "" Then
                Datei = Cells(i, 3).Value & ".plt"
                If Datei = Dir(Pfad & Datei) Then
                    Cells(i, 7).Value = "-X-"
                End If
            End If
        Next i
    
        Set ws = Nothing
    End Sub
  5. Führe das Makro aus: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle Vergleich aus der Liste und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehlender abschließender Backslash: Achte darauf, dass der Pfad zu deinem Verzeichnis mit einem \ endet. Zum Beispiel: Pfad = "p:\Ausschreibung\Planung\Pläne\Los Fenster\".

  • Falsche Zellreferenzen: Vergewissere dich, dass die Zellreferenzen in deinem Code mit der Struktur deiner Tabelle übereinstimmen. Der Code geht davon aus, dass die Dateinamen in Spalte C stehen.

  • Dateiname nicht gefunden: Wenn die Datei nicht im angegebenen Ordner gefunden wird, überprüfe die Schreibweise des Dateinamens und die Dateiendung.


Alternative Methoden

Eine alternative Methode, um Dateien in Ordnern zu vergleichen, ist die Nutzung von Power Query, das in Excel 2016 und späteren Versionen verfügbar ist. Damit kannst du Daten aus verschiedenen Quellen importieren und vergleichen, ohne VBA nutzen zu müssen.

  1. Daten importieren: Gehe zu Daten > Abrufen und transformieren > Aus Datei.
  2. Ordner auswählen: Wähle den Ordner aus, den du analysieren möchtest.
  3. Dateien importieren: Power Query listet alle Dateien in diesem Ordner auf und du kannst sie mit deiner Excel-Liste vergleichen.

Praktische Beispiele

  • Beispiel 1: Wenn du die Dateinamen aus einem bestimmten Ordner (z.B. C:\Bilder) mit deiner Liste in Excel vergleichen möchtest, ändere den Pfad im VBA-Code entsprechend:

    Pfad = "C:\Bilder\"
  • Beispiel 2: Wenn deine Excel-Tabelle Dateinamen ohne Dateiendung enthält, musst du diese in der Zeile:

    Datei = Cells(i, 3).Value & ".plt"

    entsprechend anpassen.


Tipps für Profis

  • Verwendung von Variablen: Du kannst zusätzliche Variablen verwenden, um die Lesbarkeit deines Codes zu verbessern. Zum Beispiel, speichere die Dateiendung in einer eigenen Variable.

  • Error Handling: Implementiere Fehlerbehandlungsroutinen, um die Ausführung des Makros zu verbessern. Beispiel:

    On Error Resume Next
  • Automatisierung: Du kannst das Makro so anpassen, dass es automatisch beim Öffnen der Datei ausgeführt wird, um die neuesten Vergleiche zu erhalten.


FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um andere Dateitypen zu vergleichen?
Ändere die Dateiendung in der Zeile Datei = Cells(i, 3).Value & ".plt" entsprechend dem gewünschten Dateityp, z.B. .jpg für Bilddateien.

2. Funktioniert dieser Code auch auf Windows 11?
Ja, dieser VBA-Code funktioniert sowohl auf Windows 10 als auch auf Windows 11, solange Excel korrekt installiert ist.

3. Kann ich mehrere Ordner gleichzeitig vergleichen?
Ja, du kannst den Code erweitern, um mehrere Pfade in einer Schleife zu durchlaufen und die Vergleiche entsprechend durchzuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige