AW: Dateien suchen mit VBA
10.11.2011 12:54:16
guentherh
Hallo Thomas,
Sub mov_mp4_wmv_flv_avi()
With ActiveSheet
If .AutoFilterMode Then ' dieser If-Block zeigt alle Zeilen an, wenn der _
Autofilter gesetzt ist -
' habe ich einfach übernommen
For Each af In .AutoFilter.Filters
If af.On Then
.ShowAllData
Exit For
End If
Next
End If
If .FilterMode = True Then 'wenn schon ein Spezialfilter gesetzt ist, wird dieser _
nur zurückgesetzt
.ShowAllData
.UsedRange.AutoFilter
Else 'hier jetzt das setzen des Spezialfilters
Range("A:G").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range(" _
mov_mp4_wmv_flv_avi"), Unique:=False
' es werden die Spalten A:G betrachtet
' Ich habe dort Überschriften in die vorher leere Zeile 1 eingetragen
' Action könnte auch kopieren sein,
' das geht aber leider nicht in eine andere Datei
' Criteria Range ist der Knackpunkt. Ich habe hier
' einen Namen im Excel-Blatt definiert, dann kann
' der Bereich erweitert werden, ohne Code zu ändern.
' Ginge aber auch, wenn das Range-Objekt über
' Range("C5:C10") definiert würde. _
' Unique war nicht gewünscht
End If
End With
End Sub
der Spezialfilter C13:E15 würde alle PDF's mit Speicherdatum ab 01.06.2011 und alle MP3's mit Speicherdatum ab 01.06.2011 liefern. Er dürfte auch mehrfach die Spalte Dateiname enthalten, um die Suchfunktion zu realisieren
Offensichtlich kommen sich hier einige Funktionen ins Gehege, weil Autofilter angenommen wird.
Es können theoretisch bestimmt alle Funktionen auf den Spezialfilter statt den Autofilter umgeschrieben werden, bedeutet aber sicher eine Menge Aufwand.
Die Erweiterung des Autofilters auf 2 Dateitypen würde auch schon einen Konflikt mit der Suchen-Funktion haben, da diese das zweite Kriterium des Autofilters nutzt (habe sie mir mal angesehen).
Bleibt die Frage ob der Aufwand sich lohnt oder der Lösungsvorschlag aus Deiner Sicht eine Sackgasse war.
Gruß,
Günther