Filtern bzw. auswählen in InputBox

Wer kann unterstützen

  • VBA Code

    Abstimmungen: 0 0,0%
  • Datei anfordern

    Abstimmungen: 0 0,0%

  • Anzahl der Umfrageteilnehmer
    0
  • Umfrage geschlossen .

josef24

Erfahrenes Mitglied
Hallo zusammen. Habe einen Code für InputBox im Netz gefunden, und versuche mich gerade damit. Folgenden Code versuche ich ans Laufen zu bringen.
Wenn ich ihn starte, wird die Inputbox geöffnet, ich gebe einen Namen vor. Wenn ich dann starte, kommt der Fehler: Laufzeitfehler 9. Index außerhalb des gültigen Bereichs. Ich führe den Code direkt von der Tabelle aus an, wo müsste ich Korrekturen einbauen, damit der Code ausgeführt wird? Gruß Josef

Visual Basic:
Sub FilterColumn2ByText()
    Dim searchText As String

    ' Prompt user for input
    searchText = InputBox("Enter text to filter Column 2", "Filter Data")

    ' Check if user entered a value
    If searchText <> "" Then
        ' Apply filter to Column 2 based on user input
        With ActiveSheet.ListObjects(1).ListColumns(2).Range
            .AutoFilter Field:=2, Criteria1:="*" & searchText & "*", Operator:=xlFilterValues
        End With
    Else
        ' If user didn't enter any text, remove existing filter
        ActiveSheet.ListObjects(1).AutoFilter.ShowAllData
    End If
End Sub
 
Zuletzt bearbeitet von einem Moderator:
Was hast du da auf dem Sheet, dass du mit ListObjects() zugreifst? Auf das Sheet kannst du auch normal zugreifen.
 
Yupp, was Yaslaw gesagt hat.
Zusätzlich von mir:
Seine Zeile 10
"With ActiveSheet.ListObjects(1).ListColumns(2).Range"

Range von was?
 
Sorry, ich bin nicht der Spezi um solche Fragen richtig zu beantworten. Nur dieser Fehler ist mir schon häufig untergekommen, und hier kackt es immer bei meinen Versuchen. Kann vielleicht jemand eine korrigierte Codezeile liefern. ChatGPT hatte ich schon mal versucht, aber da bekam ich vieles, aber es war keine Lösung dabei. (Verzweiflungstat) Gruß Josef
 
Wenn es ein normaler Filter auf ein normales Sheet ist, sollte doch der klassiker, der jede Googlesuche ausspuckt reichen
Visual Basic:
ActiveSheet.AutoFilter Field:=2, Criteria1:="*" & searchText & "*", Operator:=xlFilterValues

Ps: Code von GPT ist selten fertiger Code, eher eine Idee. Und die muss IMMER verifiziert werden. Doch dazu muss man die Programmiersprache verstehen. Darum eignet sich mMn GPT nicht um sich einfach Code zu generieren.
Bei einem Test mit ABAP Programmierung hat ChatGPT ganze Befehle frei erfunden, weill es solche in anderen Pragrammiersprachen halt gibt....
 
Warum alles so kompliziert. Anhand der vielen Fehlenden Informationen gehe ich davon aus, dass du eine ganz einfache Tabelle filtern willst. Siehe auch angehängtes Beispiel
Visual Basic:
Sub Makro1()
    Dim searchValue As String
    
    searchValue = InputBox("Suchwert")
    
    ActiveSheet.Rows("1:1").AutoFilter
    ActiveSheet.Range("B1").AutoFilter Field:=2, Criteria1:="=*" & searchValue & "*", Operator:=xlAnd
End Sub
 

Anhänge

  • test_411927.zip
    15,2 KB · Aufrufe: 2

Neue Beiträge

Zurück