Registriert seit: 02.12.2016
Version(en): 2013
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.
Registriert seit: 06.12.2015
Version(en): 2016
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
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28
• Fluchty
Registriert seit: 02.12.2016
Version(en): 2013
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.
Registriert seit: 06.12.2015
Version(en): 2016
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