Anzeige
Archiv - Navigation
1476to1480
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
gefilterte Vorschläge anzeigen
17.02.2016 14:27:33
Meiky
Hallo liebes Forum,
ich bin gerade dabei eine Such/Filterfunktion zu basteln. Hierbei geht es darum, nach einer bestimmten Branche entweder nach Name und nach zugehöriger Nummer zu suchen.
Ich stelle mir das so vor, dass man in der Userform nach einem Schlagwort sucht z.B. "BAU" und alle Branchen die etwas mit "BAU" zu tun haben, im Tabellenblatt aufgelistet sind.
Ich bin schon fleißig am basteln und herumexperimentieren und habe jetzt eine Option gebaut, bei der ich alle zum Schlagwort passenden Branchen (leider) in der Userform aufgezeigt bekomme und dann EINE auswählen kann. Gerne hätte ich die Möglichkeit alle im Tabellenblatt anzuzeigen, so dass ich mich nicht auf eine festlegen muss.
Habt ihr hierzu vielleicht eine Idee. Ich komme leider nicht weiter.:/
Anbei meine Datei. Über Vorschläge bin ich euch dankbar.
https://www.herber.de/bbs/user/103636.xlsm
Liebe Grüße
Meiky

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: gefilterte Vorschläge anzeigen
17.02.2016 14:49:06
ChrisL
Hi Meiky
Ohne den Code jetzt komplett umzuschreiben, hier ein Vorschlag:
Sub Test()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim Sp As String, iZeile As Integer
Dim i As Integer
Dim x As Integer
Application.ScreenUpdating = False
Set WS2 = Worksheets("RKZ_WKZ")
Set WS1 = Worksheets("Suche")
x = 0
cmbWKZ.Clear
WS1.Rows("3:1000").Delete
For i = 2 To 1000
If optText = True Then
Sp = "D"
ElseIf optWNR = True Then
Sp = "C"
End If
If Len(UCase(WS2.Range("D" & i).Value)) > 0 Then
If InStr(1, UCase(WS2.Range(Sp & i).Value), UCase(txtSuch)) Then
cmbWKZ.AddItem WS2.Range("a" & i).Value, x
cmbWKZ.List(x, 1) = WS2.Range("d" & i).Value
x = x + 1
WS1.Cells(x + 2, 2) = WS2.Cells(i, 1)
WS1.Cells(x + 2, 3) = WS2.Cells(i, 4)
End If
Else
GoTo ENDE
End If
Next
ENDE:
If cmbWKZ.ListCount = 1 Then
cmbWKZ.Enabled = True
cmbWKZ.ListIndex = 0
ElseIf cmbWKZ.ListCount > 1 Then
cmbWKZ.Enabled = True
cmbWKZ.DropDown
End If
Application.ScreenUpdating = True
End Sub

cu
Chris

Anzeige
AW: gefilterte Vorschläge anzeigen
17.02.2016 15:28:25
Meiky
Super. Vielen lieben Dank =) Genauso hatte ich es mir vorgestellt.
Mir ist gerade erst noch aufgefallen, dass gar nicht die passende Nummer zu der Branchenart gezogen wird. Sondern irgendwie eine andere Nummer... Hast du hier noch eine Idee, woran das liegen könnte?
Danke für deine Hilfe :)
Grüßle

AW: gefilterte Vorschläge anzeigen
17.02.2016 15:33:08
ChrisL
Hi
WS1.Cells(x + 2, 2) = WS2.Cells(i, 3)
anstelle von...
WS1.Cells(x + 2, 2) = WS2.Cells(i, 1)
cu
Chris

Danke !
17.02.2016 15:36:29
Meiky
you made my day ! Vielen Dank.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige