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
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
Um den Filterindex in Excel mithilfe von VBA zu nutzen, folge diesen Schritten:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.
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
Schließe den VBA-Editor und kehre zu Excel zurück.
Führe das Makro prcFileDialog
aus, um den Dateiauswahldialog zu öffnen.
Damit kannst du den Filterindex für die Dateiauswahl in Excel anpassen.
Fehler: "Filter nicht in Dateierweiterungen enthalten!"
Fehler: Makro wird nicht ausgeführt
Falls du keine VBA-Lösungen verwenden möchtest, kannst du den Filterindex auch manuell in Excel nutzen:
Ein einfaches Beispiel für die Nutzung des vba filterindex ist das Filtern von CSV-Dateien:
FilterIndex
in Kombination mit anderen Dateiformaten, um die Benutzerfreundlichkeit deiner Anwendung zu erhöhen.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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen