Anzeige
Archiv - Navigation
1236to1240
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Dateien suchen mit VBA
Thomas
Hallo
Mit einem VBA-Button selektiere ich in Spalte A Files mit einer bestimmten Endung. Unten stehend z.B. "mov".
Wie muss ich den Code ändern, um eine grössere Auswahl an Endungen gleichzeitig zu wählen? Gewünscht wäre beispielsweise mov, mp4, wmv, flv, avi, etc.
Sub mov()
With ActiveSheet
If .AutoFilterMode Then
For Each af In .AutoFilter.Filters
If af.On Then
.ShowAllData
Exit For
End If
Next
End If
End With
Selection.AutoFilter Field:=1, Criteria1:="=*mov", Operator:=xlAnd
End Sub
Danke für die Hilfe
Thomas

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateien suchen mit VBA
07.11.2011 13:45:00
guentherh
Hallo Thomas,
Du brauchst einen "Spezialfilter"
Userbild
als VBA
Range("A1:C6").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
("A11:C14"), Unique:=False
Dazu stehen halt die Filterbedingungen in einem Bereichj in der Tabelle
Gruß,
Günther
AW: Dateien suchen mit VBA
08.11.2011 11:24:28
Thomas
Hallo Günther
Danke für deine Antwort.
Ich wüsste nicht, wie ich dies umsetzen sollte. Ich benutze die Tabelle zum einlesen, ordnen, suchen, löschen von allen möglichen Files. Die Liste ist entsprechend dem gewählten Ordner relativ kurz oder auch tausende Datensätze lang.
Was ich benötige:
Zusätzliche Buttons für Filme, Officeanwendungen oder Bilder.
Ist es nicht möglich, diese Zeile
Selection.AutoFilter Field:=1, Criteria1:="=*mov", Operator:=xlAnd
quasi mit einer Aufzählung zu ergänzen?
Das ist die Datei:
https://www.herber.de/bbs/user/77403.xls
Gruss
Thomas
Anzeige
Anwendungshinweis
08.11.2011 11:38:33
Thomas
Kurzer Anwendungshinweis:
1. den Reiter Ordner wählen
2. neu anklicken
3. Ordner auswählen, dessen Inhalt man angezeigt haben möchte
4. im Reiter Ordner werden die Ordner angezeigt
5. im Reiter Dateien gibt es einige Detailangaben und Funktionen
6. mit den kleinen Buttons werden die Dateitypen gefiltert
7. mit den breiten Buttons können die angezeigten aktiviert, deaktiviert oder gelöscht werden.
Gruss
Thomas
AW: Dateien suchen mit VBA
08.11.2011 11:52:26
guentherh
Hallo Thomas,
wenn ich die Hilfe (und auch das Frontend) richtig interpretiere, kann der Autofilter nur zwei Kriterien, während der Spezialfilter beliebig viele Kriterien kann, die halt in Tabellenform dargestellt sein müssen.
In VBA kann man dann den Kriterien-Bereich übergeben, der die benötigten Kriterien enthält.
Ob der Kriterien-Bereich richtig gefüllt ist, kann man mit dem Frontend ausprobieren.
In Deine Datei schau ich demnächst rein
Gruß,
Günther
Anzeige
AW: Dateien suchen mit VBA
08.11.2011 12:00:52
Thomas
Hallo Günther!
Ich muss zugeben, dass ich für dieses (extrem praktische) File viel Hilfe hier in Herber erhalten habe.
Und: Spezialfilter habe ich bisher noch nicht verwendet. Wäre es ggf. möglich, die Darstellung in Tabellenform in einem dritten Reiter unterzubringen, sodass die Darstellung von Ordner und Dateien nicht verändert wird (wegen der unterschiedlichen Zeilenzahl)?
Ich bin bespannt auf dein Feedback!
Gruss
Thomas
AW: Dateien suchen mit VBA
08.11.2011 12:20:39
guentherh
Ja, das geht
AW: Dateien suchen mit VBA
08.11.2011 13:56:12
guentherh
Hallo Thomas,
hier ein zusätzlicher Button mit mehreren Kriterien über einen Filter im extra Blatt
ein Filter mit zusätzlichem Datumskriterium der noch nicht über Makro angesprochen wird
https://www.herber.de/bbs/user/77405.xls
viel Spass,
Günther
Anzeige
AW: Dateien suchen mit VBA
08.11.2011 14:40:31
Thomas
Hallo Günther
Das Ganze funktioniert noch nicht wirklich.
Beim Klick auf neu wird das TabBlatt Filter gelöscht. Das habe ich geändert im selben Code überflüssige Tabellenblätter löschen.
Benutze ich deinen neuen Button, wird der Autofilter ausgeschaltet und alle andern Buttons (inkl. dem Suchfeld) funktionieren nicht mehr.
Gruss
Thomas
AW: Dateien suchen mit VBA
10.11.2011 02:16:08
Thomas
Hallo Günther
Sorry für die Verspätung - die Arbeit hat mich überholt...
Etwas geht noch nicht und ich weiss nicht, wie lösen.
Habe ich die Filmeinstellung gewählt (also Autofilter ausgeschaltet), kann ich das Suchfenster nicht benutzen, weil dieses die Filter auch benötigt.
Klicke ich aber erst einen andern Button an, läuft der AF wieder. Dann ist die (Film-) Auswahl aber weg.
Dann auf alles zeigen geht nicht. Ich muss erst Filme anwählen und dann alles zeigen. Dann kommen die AF wieder.
Ich habe auch versucht, die Liste zu ergänzen, bzw. eine weitere (z.B. Officedateien oder Bilder) zu erstellen. Das *.doc habe ich dazwischen geschoben. Geht das so?
Kannst du mir sagen, wo ich auf das Filterblatt und die richtigen Zellen verweisen muss, damit ich das später selbst machen kann?
Ich werde sicher weitere Buttons mit einer andern Auswahl einfügen und ich weiss noch nicht, wo ich den Umgang mit dem AF einstellen kann.
Ganz herzlichen Dank für deinen Support!
Gruss
Thomas
Anzeige
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
Anzeige
AW: Dateien suchen mit VBA
10.11.2011 14:25:40
Thomas
Hallo Günther
Diesen Code und die Anmerkungen muss ich mir mal in Ruhe ansehen und ausprobieren. Vielleicht stosse ich noch auf etwas.
Ich verstehe, was du meinst: Die beiden Filter könnten miteinander ins Gehege kommen und Dauerprobleme verursachen. Und eine Unmenge Aufwand zu leisten ist ja auch fraglich.
Eine Idee zur "manuellen Lösung" habe ich noch:
Bei den einzelnen Buttons denjenigen Teil löschen, der "alles zeigt". So kann ich die Filter einzeln zu- und ausschalten und somit wie gewünscht addieren. Dann funktioniert auch die Suchfunktion. Ist zwar nicht nobel - aber es würde laufen.
Für deine Arbeit bedanke ich mich nochmals ganz herzlich!
Gruss
Thomas
Anzeige
AW: Dateien suchen mit VBA
10.11.2011 17:31:11
guentherh
Hallo Thomas,
den Teil
Bei den einzelnen Buttons denjenigen Teil löschen, der "alles zeigt". So kann ich die Filter einzeln zu- und ausschalten und somit wie gewünscht addieren. Dann funktioniert auch die Suchfunktion. Ist zwar nicht nobel - aber es würde laufen.

verstehe ich nicht ganz.
Meinst Du, wenn Du die drei Knöpfe "mpg", "avi" und "mp4" hintereinander drückst, würden diese drei Dateitypen zugleich angezeigt?
Das glaube ich ginge nicht.
ich habe das System so verstanden, dass der Autofilter auf das Feld Dateiname per Makro gesetzt wird.
Der Autofilter kann zwei Bedingungen beinhalten.
Die erste davon wird mit der Dateiendung gesetzt.
Die zweite davon wird mit der Suchen-Funktion gesetzt. z.B. "*Guliver*" zeigt "Film_Gulivers_Reisen.mpg" an. alle nicht-Guliver- und nicht-mpg werden ausgeblendet.
Deshalb Ersetzt das Makro eine *.mpg - Bedingung mit *.avi und kann nicht die Bedingung "*.mpg oder *.avi" setzen.
Gruß,
Günther
Anzeige
AW: Dateien suchen mit VBA
10.11.2011 18:08:04
Thomas
Hallo Günther
Du hast recht, ich machte eine Fehlüberlegung.
Im Moment, wo eine Extension ausgewählt ist, sind die andern ja ausgeblendet und somit (auf diese Weise) nicht mehr wählbar.
Ich habe aber soeben einen Trick gefunden, wie es dennoch geht. Beispiel:
mpg anwählen angezeigte markieren
avi anwählen, angezeigte markieren
dann... markierte anzeigen
Nun siehst du avi und mpg, sämtliche andern sind ausgeblendet. Auf diese Weise lässt sich jede beliebige Kombination vornehmen.
Da es sich bei den breiten Buttons um Togglebuttons handelt, sind sie nach dem Klick "falsch eingestellt". Das macht nichts, einfach zweimal klicken, dann geht's.
Das Ganze ist auf diesem Weg nur möglich, weil der Button angezeigte markieren nirgendwo sonst ausgelöst wird.
* * * * * * *
Nun hätte ich noch eine andere Frage, die sich wahrscheinlich einfacher lösen lässt.
Wenn ich eine Auswahl getroffen habe (z.B. *.doc), dann möchte ich die doppelt vorhandenen einfach erkennen und bearbeiten. Für diese Funktion habe ich zwar den Button Doppelte. Dieser ist aber denkbar unübersichtlich.
Ich wäre froh, wenn folgendes geht:
- eine Auswahl habe ich getroffen (z.B. *.doc)
- mit einem Button werden alle doppelten Datensätze angezeigt (bzw. alle nicht doppelten ausgeblendet)
- dabei werden der Name, Grösse und Datum verglichen
Kann man das so machen?
Gruss
Thomas
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige