Microsoft Excel

Herbers Excel/VBA-Archiv

Auswahlliste suche verfeinern

Betrifft: Auswahlliste suche verfeinern von: Wolfgang
Geschrieben am: 02.02.2020 10:54:13

Hallo,

ich hoffe ihr könnt mir weiterhelfen.
Ich habe in einem Tabellenblatt eine Auswahlliste, die Liste aus der die Werte ausgesucht werden soll ist schon sehr lang und wächst weiter.
Gibt es die möglichkeit dass ich in der Auswahlliste die Suche verfeinere, also wenn ich a eingebe soll die Liste nur noch alle Werte die mit a beginnen anzeigen usw..
Vielen Dank

Betrifft: AW: Auswahlliste suche verfeinern
von: Hajo_Zi
Geschrieben am: 02.02.2020 11:09:43

Du hast es mit Daten, Gültigkeit gemach, Wird nur in die Zelle A eingegeben und dann das DropDown betätigt springt die Liste zu "A"

GrußformelHomepage

Betrifft: AW: Auswahlliste suche verfeinern
von: Wolfgang
Geschrieben am: 02.02.2020 11:44:22

Hallo Hajo,

leider kommt dann eine Fehlermeldung wenn ich in der Zelle ein a eingebe und dann auf die Dropdown klicke
auch bei b usw.

Gruß Wolfgang

Betrifft: AW: Auswahlliste suche verfeinern
von: Hajo_Zi
Geschrieben am: 02.02.2020 13:10:50

bei mir geht es.

Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.

Sollte die Datei verlinkt werden?

Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.

Das ist nur meine Meinung zu dem Thema.

Gruß Hajo

Betrifft: AW: Auswahlliste suche verfeinern
von: Wolfgang
Geschrieben am: 02.02.2020 13:45:24

Hallo Hajo,

anbei eine Test Datei in der Seite 1 soll in B3 ein Wert aus der Seite 2 ausgewählt werden.
https://www.herber.de/bbs/user/134929.zip

Gruß Wolfgang

Betrifft: AW: für diese Beispieldatei dann ...
von: neopa C
Geschrieben am: 02.02.2020 14:24:39

Hallo Wolfgang,

... analog zu meiner vorhin aufgezeigten Lösungsvorschlag so: https://www.herber.de/bbs/user/134931.xlsx

Die benannte Formel kannst Du genau so wie die intelligente Tabelle nachträglich so umbenennen, wie Du es möchtest. Die Zelle für den Suchstring kannst Du auch beliebig verschieben.

Gruß Werner
.. , - ...

Betrifft: AW: das was Du möglicherweise anstrebst ...
von: neopa C
Geschrieben am: 02.02.2020 11:51:01

Hallo Wolfgang,

... für eine Datengültigkeitsliste, also z.B. nach dem 1. Buchstaben auch noch weitere einzugeben, die dann am Beginn der Auswahlliste angeboten werden, ist realisierbar aber lediglich entweder mit einer Hilfsspalte und einer benannten Formel oder wenn Deine Datenliste bereits sortiert vorliegt. Anderenfalls wäre zunächst eine eine entsprechende Hilfsspalte zu ermitteln. Letztere ist auf jeden Fall notwendig, wenn die angegebenen Suchzeichen bzw.- /-folgen irgendwo in den Texten der Liste vorliegen.

Was also genau strebst Du an?

Gruß Werner
.. , - ...

Betrifft: AW: das was Du möglicherweise anstrebst ...
von: Wolfgang
Geschrieben am: 02.02.2020 11:56:18

Hallo Werner,

die Datenliste liegt bereits in sortierter form vor, es besteht die möglichkeit Such-,zeichen bzw. folgen einzufügen.
Wie kann ich das realisieren

Gruß Wolfgang

Betrifft: AW: (D)eine Beispieldatei wäre hilfreich ...
von: neopa C
Geschrieben am: 02.02.2020 13:00:48

Hallo Wolfgang,

... es muss nicht Deine Originaldatei sein und auch nicht eine in voller Größe.

Meine Aussage: "... wenn die angegebenen Suchzeichen bzw.- /-folgen irgendwo in den Texten der Liste vorliegen." hast Du möglicherweise falsch verstanden oder ich Dich jetzt. Es müssen in Deiner Originaltabelle jedenfalls nirgends wo Suchzeichen bzw.- /-folgen eingefügt werden.

Gemeint war von mir, das wenn die Suchzeichenkette z.B "es" von Dir für die Dropdownliste mit z.B. Städtenamen vorgegeben werden sollte, Dir dann nicht nur z.B. Essen sondern auch Dresden u.a. Städte, die irgendwo die Zeichenkette "es" im Namen beinhalten, in der Dropdownliste angeboten werden. Ist es so etwas, was Du anstrebst?

Gruß Werner
.. , - ...

Betrifft: AW: (D)eine Beispieldatei wäre hilfreich ...
von: Wolfgang
Geschrieben am: 02.02.2020 13:32:10

Hallo Werner,

wie dein Beispiel soll bei eingabe "es" auch nur Städte die mit "es" beginnen aufgelistet werden. z.B Essen usw.

Gruß Wolfgang

Betrifft: AW: hatte bewusst nach (D)einer Datei gefragt ...
von: neopa C
Geschrieben am: 02.02.2020 14:02:59

Hallo,

... denn nun kann ich Annahmen treffen, die möglicherweise mit Deiner Struktur nicht übereinstimmen.

Also Deine Datenliste ist als Tabelle formatiert zu: _SuchDat und z.B. in D1 wird Dein Suchstring für die Dropdownliste vorgegeben, die z.B. in E1 steht.

Dafür folgende benannte Formel definieren:

=INDEX(_SuchDat[Datenwerte];VERGLEICH(Tabelle1!$D$1&"*";_SuchDat[Datenwerte];0)):INDEX(_SuchDat[Datenwerte];VERGLEICH(Tabelle1!$D$1&"*";_SuchDat[Datenwerte];0)+ZÄHLENWENN(_SuchDat[Datenwerte];Tabelle1!$D$1&"*")-1)

die ich _AuswList bezeichnet habe.

Dann in E1 die Datengültigkeit Liste mit der Formel: =_AuswList zuweisen.

Gruß Werner
.. , - ...

Betrifft: AW: (D)eine Beispieldatei wäre hilfreich ...
von: volti
Geschrieben am: 02.02.2020 14:03:11

Hallo Wolfgang,
evtl. gäbe es auch noch eine reine VBA Lösung, ohne Hilfsspalte usw.

Eine Idee dazu zeigt der nachfolgende, natürlich noch erweiterbare Code.
Wichtig hierbei ist nur, dass die DropDownboxen bei größerem Inhalt vor dem Abspeichern der Datei aufgrund eine M$-Bugs gelöscht werden müssen. Sie werden aber bei Anklick wieder reaktiviert.

Wenn Du magst, kannst Du ihn Dir ja mal anschauen....

Option Explicit
Option COMPARE TEXT

Const csDropDownfelder = "$A$1,$C$1"        'Wo sind die DropDowns
Const csDatenbereich = "Daten!$B1:$B100"    'Woher kommen die Daten

Sub DeleteAllDropDowns()
'Alle DropDown löschen, um Mengenkonflikte zu vermeiden
 On Error Resume Next
 ThisWorkbook.Sheets("Tabelle1").Cells.Validation.Delete
End Sub

Sub Set_Validation(rOrt As Range)
 Dim oRng As Range, sWerte As String, sArr() As String
 If InStr(csDropDownfelder, rOrt.Address) = 0 Then Exit Sub
 sArr = Split(csDatenbereich, "!")
 For Each oRng In Sheets(sArr(0)).Range(sArr(1))
    With oRng
     If .Value Like rOrt.Value & "*" Or Len(rOrt.Value) > 5 Then
        If .Value <> "" Then sWerte = sWerte & .Value & ","
     End If
    End With
 Next oRng
 If sWerte <> "" Then sWerte = Left$(sWerte, Len(sWerte) - 1)
 With rOrt.Validation
   .Delete
   If sWerte <> "" Then
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
         Operator:=xlBetween, Formula1:=sWerte
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = False
   End If
   Application.EnableEvents = False
   rOrt.Select
   Application.EnableEvents = True
 End With
End Sub

'in Tabelle1
Private Sub Worksheet_Change(ByVal Target As Range)
 Set_Validation Target
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Set_Validation Target
End Sub

'In diese Arbeitsmappe
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 Call DeleteAllDropDowns
End Sub


viele Grüße
Karl-Heinz


Betrifft: AW: (D)eine Beispieldatei wäre hilfreich ...
von: Wolfgang
Geschrieben am: 02.02.2020 14:16:46

Hallo Karl-Heinz,

vielen Dank leider kann ich VBA nicht, jetzt muss ich erst einmal schauen wie ich deinen Quelltext in meine Liste einfüge.

Gruß Wolfgang

Betrifft: AW: (D)eine Beispieldatei wäre hilfreich ...
von: volti
Geschrieben am: 02.02.2020 14:34:11

Hallo Wolfgang,

ggf. doch noch eine Mappe hochladen.

Denn hierbei ist es schon interessant, ob z.B. nur eine DropDownBox existiert oder auch andere, die nicht behandelt werden sollen usw.
Und wie weit die Einschränkdynamik in der Länge gehen soll. Z.Zt auf 5 beschränkt, ab da wird wieder alles gezeigt usw.

viele Grüße
Karl-Heinz

Betrifft: AW: sieh dazu u.a. auch weiter oben im thread owT
von: neopa C
Geschrieben am: 02.02.2020 14:36:18

Gruß Werner
.. , - ...

Betrifft: AW: (D)eine Beispieldatei wäre hilfreich ...
von: volti
Geschrieben am: 02.02.2020 14:48:54

Hallo Wolfgang,

Du hattest ja eine hochgeladen. Sorry, wer alles liest ist besser dran...

https://www.herber.de/bbs/user/134933.xlsm

VG KH

Betrifft: AW: (D)eine Beispieldatei wäre hilfreich ...
von: Wolfgang
Geschrieben am: 02.02.2020 14:54:53

Vielen Dank für die verschiedenen Lösungsvorschläge.

Gruß Wolfgang