Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dropdown Liste mit Buchstabensuche

Forumthread: Dropdown Liste mit Buchstabensuche

Dropdown Liste mit Buchstabensuche
dieter(drummer)
Excel/VBA SoLaLa
Hi Excelprofis,
in Spalte A habe ich eine Dropdown Liste über Daten/Gültigkeit. Die Liste (mit Alpha Namen ist alphabetisch schon sortiert und kommt aus einem ausgeblendeten Tabellenblatt in dieser Mappe. Die vorletzte Zeile ist eine Leerzeile, damit manuelle Eingaben möglich sind. Die Liste funktioniert!
Problem: 1) Bei Aufruf der Liste steht diese immer in der Vorletzten Zeile (Leerzeile). 2) Wenn ich z.B. den Buchstaben L eingebe, kommt nicht der erste Name, der mit L beginnt.
Suche Lösung für: 1) Bei Eingabe eines Buchstabens soll der erste in der Liste auftauchen, der mit diesem beginnt.
Diese Lösung wäre schon toll. Geht das?
Danke für's drum kümmern und evtl. Hilfe.
Mit Gruß
dieter(drummer)
Anzeige
AW: Danke Jürgen aber noch eine Frage
25.06.2009 15:15:01
dieter(drummer)
Hi Jürgen,
Danke für schnelle Rückmeldung. Wie bekomme ich dann die Namen in die jeweilige aktive Zelle?
Gruß
dieter(drummer)
Anzeige
ListFillRange in den Eigenschaften der CBox oT
25.06.2009 15:17:49
Backowe
AW: Noch etwas unklar
25.06.2009 15:27:52
dieter(drummer)
Hi Jürgen
ListFill... zeigt ja den Ursprung der Liste. Wie bekomme ich aber die Namen in die aktive Zelle eingefügt?
Danke.
Gruß
dieter(drummer)
Stand etwas auf der Leitung!
25.06.2009 15:33:40
Backowe
Hallo Dieter,
LinkedCell schreibt den Namen in eine Zelle!
Gruss Jürgen
Anzeige
AW: z.B. LincedCell A:A?
25.06.2009 15:41:34
dieter(drummer)
Hi Jürgen,
wie krieg ich das hin, der ausgwählte Name lückenlos z. B. von A5 bis A100 eingertrage wird! Also direkt in die aktivierte Zelle in Spalte A.
Danke nochmal.
Gruß Dieter(drummer)
Etwas Code!
25.06.2009 15:51:26
Backowe
Hallo Dieter,
VBA-Code:
Private Sub ComboBox1_Change()
'Code in das Tabellenblatt der Combobox
Dim i As Integer
For i = 5 To 100
    Cells(i, "A") = ComboBox1.Value
Next
End Sub
Gruss Jürgen
AW: Danke Jürgen. Hilft mir schon weiter
dieter(drummer)

Hi Jürgen,
am Script sehr ich schon die Möglichkeiten. Nun muss ich noch herausfinde, wie ich die Auswahl NUR in die nächste freie Zelle in Spalte A kriege. Es sollen ja nicht 100 Einträge mit gelcicher Auswahl erfolgen.
Danke für Deine Hilfe.
Mit Gruß
dieter(drummer)
So vielleicht!
Backowe

Hallo Dieter,
VBA-Code:
Private Sub ComboBox1_Change()
Cells(Cells(Rows.Count, "A").End(xlUp).Row + 1, "A") = ComboBox1.Value
End Sub
Gruss Jürgen
AW: So vielleicht!
hary

Hallo Dieter
naechste freie Zelle? auch mittendrin. Juergen sein Code.

Private Sub ComboBox1_Change()
'Code in das Tabellenblatt der Combobox
Dim i As Integer
For i = 5 To 100
If Cells(i, "A") = "" Then 'naechste freie Zelle
Cells(i, "A") = ComboBox1.Value
End     ' wenn leere zelle beschrieben Sub beenden sonst geht's immer weiter
End If
Next
End Sub


Gruss Hary

AW: Danke auch an Hary
dieter(drummer)

Hi Hary,
Danke für Deine Hilfe. Es soll aber etwas anders sein, Siehe meine letzte Info an Jürgen.
Gruß
dieter(drummer)
AW: Noch mal Danke. Muss damit experimentieren
dieter(drummer)

Hi Jürgen,
Danke für Deine Hilfe. Muss damit mal weiter eperimentieren. Der Sinn ist, dass eine Liste aus einem anderen Tabellenblatt der Arbeitsmappe, die Eintragungen der Liste - jeweils einen Namen - bei Aufruf der Liste und Aktivierung des ausgesuchten Namens, den Namen in die aktivierte Zelle (dies ist dann die nächste freie, die manuell angewählt wurde) eingetragen werden.
Ist wohl zu kompliziert.
Danke für Hilfestellung.
Gruß
dieter(drurmmer)
AW: Noch mal Danke. Muss damit experimentieren
hary

Hallo Dieter
also manuelle auswahl der leeren zelle, dann ins Cbo Change Ereigniss
activecell = ComboBox1.Value
Gruss Hary
AW: Hary, Danke! Bin nicht so gut, ....
dieter(drummer)

Hi Hary,
bin leider nicht so gut, dies in VBA umzusetzen. Leider ....
Danke und Gruß
dieter(drummer)
AW: Dank an Hary und Jürgen. Komme damit weiter
dieter(drummer)

Hi Hary,
habe mit Liste, die ich über Namen definieren angelegt habe, experimentiert. Erste Erfolge kommen.
Danke für Deine Geduld und Hilfe. Natürlich auch Dank an Jürgen.
Gruß
dieter(drummer)
Anzeige
AW: Danke Jürgen. Hilft mir schon weiter
25.06.2009 15:59:56
dieter(drummer)
Hi Jürgen,
am Script sehr ich schon die Möglichkeiten. Nun muss ich noch herausfinde, wie ich die Auswahl NUR in die nächste freie Zelle in Spalte A kriege. Es sollen ja nicht 100 Einträge mit gelcicher Auswahl erfolgen.
Danke für Deine Hilfe.
Mit Gruß
dieter(drummer)
So vielleicht!
25.06.2009 16:05:44
Backowe
Hallo Dieter,
VBA-Code:
Private Sub ComboBox1_Change()
Cells(Cells(Rows.Count, "A").End(xlUp).Row + 1, "A") = ComboBox1.Value
End Sub
Gruss Jürgen
AW: So vielleicht!
hary

Hallo Dieter
naechste freie Zelle? auch mittendrin. Juergen sein Code.

Private Sub ComboBox1_Change()
'Code in das Tabellenblatt der Combobox
Dim i As Integer
For i = 5 To 100
If Cells(i, "A") = "" Then 'naechste freie Zelle
Cells(i, "A") = ComboBox1.Value
End     ' wenn leere zelle beschrieben Sub beenden sonst geht's immer weiter
End If
Next
End Sub


Gruss Hary

AW: Danke auch an Hary
dieter(drummer)

Hi Hary,
Danke für Deine Hilfe. Es soll aber etwas anders sein, Siehe meine letzte Info an Jürgen.
Gruß
dieter(drummer)
AW: Noch mal Danke. Muss damit experimentieren
dieter(drummer)

Hi Jürgen,
Danke für Deine Hilfe. Muss damit mal weiter eperimentieren. Der Sinn ist, dass eine Liste aus einem anderen Tabellenblatt der Arbeitsmappe, die Eintragungen der Liste - jeweils einen Namen - bei Aufruf der Liste und Aktivierung des ausgesuchten Namens, den Namen in die aktivierte Zelle (dies ist dann die nächste freie, die manuell angewählt wurde) eingetragen werden.
Ist wohl zu kompliziert.
Danke für Hilfestellung.
Gruß
dieter(drurmmer)
AW: Noch mal Danke. Muss damit experimentieren
hary

Hallo Dieter
also manuelle auswahl der leeren zelle, dann ins Cbo Change Ereigniss
activecell = ComboBox1.Value
Gruss Hary
AW: Hary, Danke! Bin nicht so gut, ....
dieter(drummer)

Hi Hary,
bin leider nicht so gut, dies in VBA umzusetzen. Leider ....
Danke und Gruß
dieter(drummer)
AW: Dank an Hary und Jürgen. Komme damit weiter
dieter(drummer)

Hi Hary,
habe mit Liste, die ich über Namen definieren angelegt habe, experimentiert. Erste Erfolge kommen.
Danke für Deine Geduld und Hilfe. Natürlich auch Dank an Jürgen.
Gruß
dieter(drummer)
Anzeige
AW: So vielleicht!
25.06.2009 16:17:40
hary
Hallo Dieter
naechste freie Zelle? auch mittendrin. Juergen sein Code.

Private Sub ComboBox1_Change()
'Code in das Tabellenblatt der Combobox
Dim i As Integer
For i = 5 To 100
If Cells(i, "A") = "" Then 'naechste freie Zelle
Cells(i, "A") = ComboBox1.Value
End     ' wenn leere zelle beschrieben Sub beenden sonst geht's immer weiter
End If
Next
End Sub


Gruss Hary

Anzeige
AW: Danke auch an Hary
25.06.2009 16:23:01
dieter(drummer)
Hi Hary,
Danke für Deine Hilfe. Es soll aber etwas anders sein, Siehe meine letzte Info an Jürgen.
Gruß
dieter(drummer)
AW: Noch mal Danke. Muss damit experimentieren
25.06.2009 16:20:32
dieter(drummer)
Hi Jürgen,
Danke für Deine Hilfe. Muss damit mal weiter eperimentieren. Der Sinn ist, dass eine Liste aus einem anderen Tabellenblatt der Arbeitsmappe, die Eintragungen der Liste - jeweils einen Namen - bei Aufruf der Liste und Aktivierung des ausgesuchten Namens, den Namen in die aktivierte Zelle (dies ist dann die nächste freie, die manuell angewählt wurde) eingetragen werden.
Ist wohl zu kompliziert.
Danke für Hilfestellung.
Gruß
dieter(drurmmer)
Anzeige
AW: Noch mal Danke. Muss damit experimentieren
25.06.2009 16:26:49
hary
Hallo Dieter
also manuelle auswahl der leeren zelle, dann ins Cbo Change Ereigniss
activecell = ComboBox1.Value
Gruss Hary
AW: Hary, Danke! Bin nicht so gut, ....
25.06.2009 16:36:53
dieter(drummer)
Hi Hary,
bin leider nicht so gut, dies in VBA umzusetzen. Leider ....
Danke und Gruß
dieter(drummer)
AW: Dank an Hary und Jürgen. Komme damit weiter
25.06.2009 17:23:26
dieter(drummer)
Hi Hary,
habe mit Liste, die ich über Namen definieren angelegt habe, experimentiert. Erste Erfolge kommen.
Danke für Deine Geduld und Hilfe. Natürlich auch Dank an Jürgen.
Gruß
dieter(drummer)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dropdown Liste mit Buchstabensuche in Excel


Schritt-für-Schritt-Anleitung

  1. Erstelle eine Dropdown Liste:

    • Wähle die Zelle aus, in der die Dropdown Liste erscheinen soll.
    • Gehe zu Daten > Datenüberprüfung.
    • Wähle Liste und gib den Bereich ein, in dem sich deine Daten befinden.
  2. Aktiviere die Suchfunktion:

    • Um eine Dropdown-Liste mit Suchfunktion zu erstellen, kannst du eine ComboBox verwenden. Diese findest du unter Entwicklertools > Einfügen > ComboBox.
    • Ziehe die ComboBox auf dein Arbeitsblatt.
  3. Verknüpfe die ComboBox mit deiner Liste:

    • Rechtsklicke auf die ComboBox und wähle Eigenschaften.
    • Setze ListFillRange auf den Bereich deiner Liste.
    • Setze LinkedCell auf die Zelle, in die der ausgewählte Wert eingetragen werden soll.
  4. Füge den VBA-Code hinzu:

    • Klicke mit der rechten Maustaste auf das Tabellensymbol und wähle Code anzeigen.
    • Füge den folgenden Code ein:
    Private Sub ComboBox1_Change()
       Cells(Cells(Rows.Count, "A").End(xlUp).Row + 1, "A") = ComboBox1.Value
    End Sub
  5. Testen:

    • Schließe den VBA-Editor und gehe zurück zu deinem Excel-Arbeitsblatt.
    • Tippe einen Buchstaben in die ComboBox. Der erste Eintrag, der mit diesem Buchstaben beginnt, wird angezeigt.

Häufige Fehler und Lösungen

  • Dropdown Liste zeigt immer die Leerzeile an:

    • Stelle sicher, dass der Bereich, den du für die Dropdown-Liste ausgewählt hast, keine Leerzeilen enthält.
  • Suchfunktion in der Dropdown-Liste funktioniert nicht:

    • Überprüfe, ob die ComboBox korrekt mit dem Datenbereich verknüpft ist und ob der VBA-Code vorhanden ist.
  • Einträge werden nicht in die nächste freie Zelle geschrieben:

    • Stelle sicher, dass der VBA-Code korrekt ist und dass die LinkedCell-Eigenschaft auf die richtige Zelle zeigt.

Alternative Methoden

  • Verwendung von Excel Dropdown Listen mit Suchfunktion ohne VBA:

    • Anstatt VBA zu verwenden, kannst du ein Excel-Suchfeld erstellen, das mit einer dynamischen Dropdown-Liste verknüpft ist. Diese Methode erfordert jedoch mehr manuelle Schritte zur Erstellung von Hilfsspalten.
  • Verwendung von Filterfunktionen:

    • Du kannst auch die Filterfunktion in Excel verwenden, um die Liste nach dem ersten Buchstaben zu filtern. Diese Methode ist weniger benutzerfreundlich, bietet jedoch eine Alternative zur Dropdown-Liste.

Praktische Beispiele

  • Beispiel für eine Dropdown Liste:

    • Angenommen, du hast eine Liste von Namen in einem ausgeblendeten Blatt. Du kannst diese Liste in die Dropdown-Liste einfügen und die ComboBox so konfigurieren, dass sie die Namen anzeigt, wenn der Benutzer den ersten Buchstaben eingibt.
  • VBA-Code für die nächste freie Zelle:

    • Um sicherzustellen, dass der ausgewählte Name in die nächste freie Zelle in der Spalte A eingefügt wird, kannst du den oben genannten VBA-Code verwenden. Dieser Code überprüft jede Zelle in der angegebenen Spalte und fügt den Namen in die erste leere Zelle ein.

Tipps für Profis

  • Optimierung der Dropdown Liste:

    • Halte deine Liste immer aktuell und vermeide doppelte Einträge, um die Benutzererfahrung zu verbessern.
  • Verwendung von Named Ranges:

    • Nutze benannte Bereiche für deine Dropdown-Listen, um die Verwaltung und Änderungen der Liste zu erleichtern.
  • Erweiterte VBA-Programmierung:

    • Wenn du dich mit VBA auskennst, kannst du komplexere Logik implementieren, z.B. eine Filterfunktion, um die Dropdown-Liste dynamisch basierend auf vorherigen Eingaben zu ändern.

FAQ: Häufige Fragen

1. Wie kann ich eine Dropdown Liste mit Suchfunktion erstellen? Um eine Dropdown Liste mit Suchfunktion zu erstellen, kannst du eine ComboBox verwenden und sie mit VBA programmieren, um die gewünschten Einträge basierend auf der Benutzereingabe anzuzeigen.

2. Kann ich die Dropdown Liste auch ohne VBA erstellen? Ja, du kannst eine einfache Dropdown Liste ohne VBA erstellen, jedoch wird die Suchfunktionalität eingeschränkt sein. Eine vollständige Suchfunktion erfordert in der Regel VBA.

3. Wie kann ich sicherstellen, dass die Dropdown Liste alphabetisch sortiert ist? Stelle sicher, dass deine Datenquelle bereits sortiert ist. Wenn du eine Tabelle als Quelle verwendest, kannst du die Sortierfunktion in Excel nutzen, um die Daten vor dem Erstellen der Dropdown Liste zu sortieren.

4. Was mache ich, wenn die Dropdown Liste nicht funktioniert? Überprüfe die Datenquelle, stelle sicher, dass sie korrekt definiert ist, und kontrolliere, ob alle Verknüpfungen und der VBA-Code korrekt sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige