Clever-Excel-Forum

Normale Version: Excel-Dateien anhand von Werten aussortieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe einen Ordner mit vielen einzelnen Excel-Dokumenten. Ich möchte einige Dokumente anhand von bestimmten Werten aussortieren.
Die Dokumente sind alle gleich aufgebaut. In zwei Spalten sind Werte, die überprüft werden sollen. Sind diese Werte ausßerhalb eines bestimmten Bereichs, sollen diese Dateien aussortiert werden.
Gibt es da irgendwelche Tools, die sowas können?
Bislang muss ich immer alle Dateien einzeln öffnen und durchsehen. Das kostet viel Zeit und Nerven.
Vielen Dank im Voraus.
Hallo,

vermutlich kann man diese Arbeit mit einem Makro erledigen. Je nach Anzahl der Dateien kann die Zeit nicht ausreichen, um einen Kaffee zu holen.

Damit irgendjemand einen code schreiben kann, sollten die Angaben spezifisch genug sein: welche Zellen sollen geprüft werde mit welchen Kriterien.


mfg
Es geht um Messprotokolle und Toleranzen.
Die zu überprüfende Spalte ist immer F.
F darf nicht größer sein, als Spalte G + Spalte H und nicht kleiner sein als Spalte G - Spalte i

Wenn in einer Datei ein Ausreißer in Spalte F ist, soll die Datei idealerweise in einen extra Ordner verschoben werden.

Ich weiß, das klingt ziemlich kniffelig.
Hallo,

im folgenden Code habe ich die Vergleiche der Spalte getestet, aber die Schleife über alle Dateien "freihändig" dazu geschrieben. Der code sollte in ein leeres xlsm-Workbook einefügt werden. Er schreibt alle Dateinamen, die später gelöscht/verschoben werden sollen, in die Spalte 1.

Falls das passt, kann man im zweiten Schritt einen weiteren Makro schreiben, der löscht/verschiebt.


Code:
Sub Fen()
dim WB as workbook
iPath = "c:\tmp\" '<<<<<<<<<<<<< anpassen
iFile = dir(iPath & "*.xlsx")

while len(ifile)
set wb = workbooks.open(iPath & ifile)

lr = wb.sheets(1).cells(rows.count, "F").end(xlup).row
for i = 2 to lr
    if (cells(i, "F") > (cells(i, "G") + cells(i, "H"))) or (cells(i,"F") < cells(i, "G") - cells(i,"I"))  then
        z = z+1
        thisworkbook.sheets(1).cells(z,1) = iPath & iFile
    end if
next i
wb.close 0

iFile = dir
loop
End Sub


Schaun wir mal.

mfg