Excel VBA: Wie mach ich aus einem Textfeld ein Suchfeld?

5 Antworten

Das ist jetzt nicht so auf die schnelle zusammengeschustert.

Du willst da ja gleich mehrere Sachen auf einmal abhandeln. Zum einen erst mal die Suche. Dann sollen die Suchergebnisse als Listbox erscheinen und dann diese noch in ein Userform übertragen werden.

Die Frage ist ja auch, was denn da nun wo eingetragen werden soll?

Vor allem, da man weder die Tabelle(n) noch die Userform kennt, kann man da im Grunde gar nicht wirklich antworten.

Du kannst das change-Event bei dem Textfeld verwenden und mit Autofilter immer die Daten im Tabellenblatt filtern. Dann kannst du mit SpecialCells alle die Zellen herausholen die sichtbar sind (also wo der Filter zutraf) und diese dann in der Listbox anzeigen. Du musst dich ein bisschen dazu einlesen, ich habe momentan nicht Zeit, die ganze Sache zu schreiben, ich helfe dir aber gerne bei kleineren Problemen.

Ohne den Aufbau deiner "Datenbank" zu kennen und ohne die Userform zu kennen ist das eigentlich nicht möglich.

dass egal in welchem Textfeld

welche Textfelder?

die entsprechende Spalte in Excel durchsucht wird

Was ist die "entsprechende Spalte"?

Er meint mit "egal in welchem", dass er einige Textfelder hat die einer Spalte zugeordnet sind. Egal in welchem davon er was eingibt, wird die jeweilige Spalte durchsucht. Klar ist das möglich...

0
@agent888
Private Sub ComboBox1_Change()


'Suche Kundenname' Dim arr() As Variant, C As Variant Dim firstAddress As String Dim Y As Boolean Dim iRowU As Integer

If Len(ComboBox1.Value) > 2 Then With Worksheets("Kunden").Range("F1:F65536") Set C = .Find((ComboBox1.Value), LookIn:=xlValues) If Not C Is Nothing Then firstAddress = C.Address Y = True Do C.Interior.Pattern = xlPatternGray34 ReDim Preserve arr(1 To 8, 0 To iRowU) arr(1, iRowU) = .Cells(C.Row, 1) 'b iRowU = iRowU + 1 Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If End With

If Y = False Then MsgBox "kein Eintrag gefunden" Else ListBox1.Column = arr End If End If End Sub
0
@augsburgchris

Hier Wählst du in Combobox1 aus und trägst in Listbox1 ein.

Die MatchEntry eigenschaft muss auf Complete stehen. 

0
@augsburgchris

Hey, danke für die Hilfe. Wenn ich das richtig verstehe, müsste ich den Code jetzt nur auf meine Textbox umschreiben oder ? 

1

Excel VBA Projekt für die Schule

Hallo, ich muss für die Berufsschule ein eigenes Projekt in Excel VBA erstellen. Es sollte ein Programm sein, das nicht sehr umfangreich ist, aber bei kleineren Problemen im Arbeitsalltag eingesetzt werden kann. Als Beispiel hatten wir bereits ein Programm, das die restlichen Urlaubstage von Arbeitnehmern ausgibt, nachdem man eingegeben hat, wieviel Gesamturlaub man hat und wieviele Tage man bereits genommen hat. Alle Werte wurden dann in einer Listbox ausgegeben und am Ende wurden alle übrigen Urlaubstage von allen Arbeitnehmern in einem Textfeld angezeigt. Unser Projekt sollte sich also in der selben Größenordnung wie das Beispiel befinden.

Mir fehlen allerdings die Ideen., deshalb brauch ich eure Hilfe. Hat jemand einen Vorschlag was ich machen könnte?

Lg Zora

...zur Frage

Was möchtest Du wissen?