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

Filterindex

Forumthread: Filterindex

Filterindex
03.06.2020 08:02:43
Wolfgang
Guten Morgen,
Ich hätte gerne gewusst, ob der "Filterindex" (Dateierweiterung) bei VB in allen Excel-Versionen derselbe ist.
Wenn nein, wie kann ich auslesen, welchen Index die Erweiterung "CSV" hat?
Danke für eure Hilfe!
Wolfgang
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filterindex
03.06.2020 10:12:22
fcs
Hallo Wolfgang,
meines Wissens ist der Index der Dateiformate in der Dateiauswahl mindestens seit Excel 2007 unverändert.
Du kann den Filterindes wie folgt ermitteln, um zum Beispiel den Öffnendialog anzuzeigen.
LG
Franz

Sub prcFileDialog()
Dim objFilter As Filter
With Application.FileDialog(msoFileDialogOpen)
.Title = "Wähle csv-Datei(en) aus"
.FilterIndex = fncFilterIndex(.Filters, "csv")
If .Show = -1 Then
MsgBox "1. gewählte Datei:" & vbLf & .SelectedItems(1)
End If
End With
End Sub
Function fncFilterIndex(varFilters, strFilter) As Integer
Dim varItem
For varItem = 1 To varFilters.Count
If InStr(1, LCase(varFilters(varItem).Extensions), LCase(strFilter)) > 0 Then
fncFilterIndex = varItem
Exit For
End If
Next
If varItem > varFilters.Count Then
MsgBox "Filter """ & strFilter & """ nicht in Dateierweiterungen enthalten!" & vbLf _
& "Auswahl für alle Dateien wird angezeigt.", _
vbOKOnly, "Filter für Dateiauswahl setzen"
fncFilterIndex = 1 'alle Dateien
End If
End Function

Anzeige
;
Anzeige

Infobox / Tutorial

Filterindex in Excel richtig nutzen


Schritt-für-Schritt-Anleitung

Um den Filterindex in Excel mithilfe von VBA zu nutzen, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.

  3. Kopiere den folgenden Code in das Modul:

    Sub prcFileDialog()
       Dim objFilter As Filter
       With Application.FileDialog(msoFileDialogOpen)
           .Title = "Wähle csv-Datei(en) aus"
           .FilterIndex = fncFilterIndex(.Filters, "csv")
           If .Show = -1 Then
               MsgBox "1. gewählte Datei:" & vbLf & .SelectedItems(1)
           End If
       End With
    End Sub
    
    Function fncFilterIndex(varFilters, strFilter) As Integer
       Dim varItem
       For varItem = 1 To varFilters.Count
           If InStr(1, LCase(varFilters(varItem).Extensions), LCase(strFilter)) > 0 Then
               fncFilterIndex = varItem
               Exit For
           End If
       Next
       If varItem > varFilters.Count Then
           MsgBox "Filter """ & strFilter & """ nicht in Dateierweiterungen enthalten!" & vbLf _
           & "Auswahl für alle Dateien wird angezeigt.", _
           vbOKOnly, "Filter für Dateiauswahl setzen"
           fncFilterIndex = 1 'alle Dateien
       End If
    End Function
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro prcFileDialog aus, um den Dateiauswahldialog zu öffnen.

Damit kannst du den Filterindex für die Dateiauswahl in Excel anpassen.


Häufige Fehler und Lösungen

  • Fehler: "Filter nicht in Dateierweiterungen enthalten!"

    • Lösung: Überprüfe, ob die angegebene Dateierweiterung (z.B. "csv") korrekt ist und im Filter vorhanden ist.
  • Fehler: Makro wird nicht ausgeführt

    • Lösung: Stelle sicher, dass Makros in Excel aktiviert sind. Dies kannst du in den Excel-Optionen unter "Trust Center" einstellen.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du den Filterindex auch manuell in Excel nutzen:

  1. Gehe zu "Daten" > "Filter".
  2. Wähle den gewünschten Filtertyp aus, um die Daten zu filtern, ohne VBA zu verwenden.

Praktische Beispiele

Ein einfaches Beispiel für die Nutzung des vba filterindex ist das Filtern von CSV-Dateien:

  • Wenn du den obigen Code ausführst, öffnet sich ein Dialog, in dem nur CSV-Dateien angezeigt werden.
  • Dies kann nützlich sein, um sicherzustellen, dass nur die richtigen Dateiformate ausgewählt werden.

Tipps für Profis

  • Nutze den FilterIndex in Kombination mit anderen Dateiformaten, um die Benutzerfreundlichkeit deiner Anwendung zu erhöhen.
  • Experimentiere mit verschiedenen Dateiformaten, um den filter index excel optimal zu nutzen.

FAQ: Häufige Fragen

1. Ist der Filterindex in allen Excel-Versionen gleich?
Ja, laut den Informationen aus dem Forum ist der Filterindex seit Excel 2007 unverändert.

2. Wie kann ich den Filterindex für andere Dateiformate herausfinden?
Du kannst die Funktion fncFilterIndex anpassen, indem du den gewünschten Dateityp in den Parameter strFilter übergibst.

3. Was mache ich, wenn mein Makro nicht funktioniert?
Prüfe, ob die Makros in den Excel-Einstellungen aktiviert sind und dass alle notwendigen Berechtigungen erteilt wurden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige