Anzeige
Archiv - Navigation
1480to1484
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
Inhaltsverzeichnis

Gültigkeit Liste erster Buchstabe

Gültigkeit Liste erster Buchstabe
07.03.2016 16:01:45
Joachim
Hallo,
ich hab im Archiv schon gesucht, aber nicht die gewünschte Antwort gefunden.
Ich habe eine Zelle über Gültigkeit mit einer alphabetisch sortierten Liste (per Namen aus einer anderen Tabelle) definiert.
Jetzt wäre es schön, wenn bei Eingabe des ersten Buchstabens z. B. "K" nur die Einträge ab "K..." kommen und ich nicht bis K scrollen muss.
Im Archiv (ältere Beiträge) fand ich, dass es nur mit einer Combobox geht.
Aber vielleicht geht das unterdessen mit den neueren Excel-Versionen.
Wenn nicht, nehme ich die Combobox.
Joachim

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mW ginge das ohne VBA nur nur zweistufig ...
07.03.2016 16:10:50
...
Hallo Joachim,
... das heißt mit einer zusätzlichen Hilfszelle und einer dynamischen Hilfszellenbereich. Ist aber sicherlich nicht das was Du anstrebst?
Gruß Werner
.. , - ...

AW: mW ginge das ohne VBA nur nur zweistufig ...
07.03.2016 16:16:44
Joachim
Hallo Werner,
wie würde das aussehen, Hilfszelle bzw. -Bereich)?
Gruss
Joachim

AW: mW ginge das ohne VBA nur nur zweistufig ...
07.03.2016 16:35:15
silex1
Hallo,
dies geht schon, allerdings mit einem kleinen Umweg. Füge einfach das Alphabet in die Liste ein, sortiere es dann und dann wird bei Eingabe von K z.B. direkt zu K gesprungen, wenn man dann die Liste anwählt.
VG
René

AW: das ist aber auch zweistufig ...
07.03.2016 16:49:44
...
Hallo René,
... mein Lösungsvorschlag auf Basis einer Formel würde nur die Namen mit dem jeweiligen Anfangsbuchstaben anbieten.
Aber vielleicht reicht ihm schon Dein Vorschlag. Ansonsten melde Dich noch einmal, Joachim.
Gruß Werner
.. , - ...

Anzeige
AW: Gültigkeit Liste erster Buchstabe
07.03.2016 16:28:35
Daniel
Hi
auch in Excel 2010 geht das nur mit einer Combobox.
das DropDownfeld der Gültgkeitsprüfung ist immer noch sehr rudimentär in seiner Funktion.
Gruß Daniel

AW: mit Hilfszelle und Formel geht es schon owT
07.03.2016 16:51:05
...
Gruß Werner
.. , - ...

AW: mit Hilfszelle und Formel geht es schon owT
07.03.2016 17:00:22
Daniel
naja, gut.
dann brauchst du eine erste Zelle, in welche du den Buchstaben eintippst und kannst dann Liste für die Gültigkeitsprüfung in der zweiten Zelle entsprechend einstellen.
das braucht dann aber zwei eingabezellen.
Das Springen in der Klappliste der Gültigkeitsprüfung bei Eingabe des ersten Buchstabens funktioniert aber auch in den neusten Excelversionen noch nicht.
Gruß Daniel

Anzeige
AW: das hatte ich ja indirekt auch geschrieben owT
07.03.2016 17:30:45
...
Gruß Werner
.. , - ...

AW: Gültigkeit Liste erster Buchstabe
08.03.2016 08:47:17
Joachim
Hallo,
mit Hilfszelle ist es zu umständlich. Und Combobox kommt nun doch nicht in Frage.
Schade, dass das DropDownfeld noch so eingeschränkt ist. Ich dachte, es geht mit einer Art Autovervollständigung, ähnlich wie bei Zellen.
Danke für eure Hilfe
Joachim

AW: Gültigkeit Liste erster Buchstabe
08.03.2016 09:13:15
Daniel
Hi
warum kommt die Combobox nicht in Frage?
wenn viele Zellen davon betroffen sind, könntest du dir ja folgenden Workaround programmieren:
1. Erstelle eine Combobox aus den ActivX-Steuerelementen und mache sie unsichtbar
2. Im SelectionChange-Event des Tabellenblatts machst du folgendes, wenn eine betroffene Zelle selektiert wird:
- Combobox einblenden
- Combobox auf die Eingabezelle verschieben und in der Grösse an die Zelle anpassen
- verknüpfe die Combobox mit der angeklickten Zellen über die Eigenschaft "LinkedCell"
- aktiviere die Combobox
beim Verlassen der Combobox blendest du diese dann wieder aus.
damit kannst du im Prinzip die Gültigkeitsliste mit Auswahl simulieren und hast den Eingabekomfort der Combobox ohne bei vielen betroffenen Zellen dein System zu überlasten.
Gruß Daniel

Anzeige
AW: Gültigkeit Liste erster Buchstabe
08.03.2016 10:30:22
Joachim
Hallo Daniel,
bin grad an deinem Vorschlag und hab ein paar Fragen:
Um die Position der Combobox zu definieren, lese ich per ActiveCell die Position der Eingabezelle aus. Leider besteht die Eingabezelle aus verbundenen Zellen, somit kommt bei .Width nicht die Gesamtbreite raus sondern nur die Breite der ersten Zelle. Wie bekomme ich die Gesamtbreite?
Die Auswahlliste ist dynamisch. Sie steht auf einer anderen Tabelle und ich habe dafür einen Namen definiert. Kann ich bei .ListFillRange den Namen eintragen?
Gruss
Joachim

AW: Gültigkeit Liste erster Buchstabe
08.03.2016 10:45:08
Daniel
Hi
1. wenn du mit Verbundzellen arbeitest dann kannst du von deine Einzelzelle aus den ganzen Zellverbund mit .MergeArea ansprechen, dh
Combobox1.Width = ActiveCell.MergeArea.Width
2. ja, bei ListfillRange kannst du auch einen Namen eintragen.
Gruß Daniel

Anzeige
AW: Gültigkeit Liste erster Buchstabe
08.03.2016 11:47:39
Joachim
Hallo Daniel,
das funzt soweit sehr gut in einer Testdatei.
In der eigentlichen Datei stehen max. 3 Blöcke nebeneinander und x untereinander (siehe mein Beitrag vom 04.03. 09:17). Die Auswahlliste (Combobox) soll immer beim Feld Agentur erscheinen.
Wie bekomme ich es hin, dass bei Target.Address nicht nur ein Zellbereich, sondern alle Zellbereiche für Agentur hinterlegt sind. Da sich die Anzahl der Blöcke ändern kann, muss das dynamisch sein.
Gruß
Joachim

AW: Gültigkeit Liste erster Buchstabe
08.03.2016 12:02:41
Daniel
Hi
das ganze ausführen, wenn:
Target.CountLarge = 1 (nur eine Zelle selektiert)
und
Target.Column > 3
und
Target.Offset(0, -2).value = "Agentur"
ist.
gruß Daniel

Anzeige
AW: Gültigkeit Liste erster Buchstabe
08.03.2016 12:19:32
Joachim
Sorry, Daniel, geht leider nicht.
Hab wie in der eigentlichen Datei in B4 Agentur geschrieben und D4, E4 und F4 verbunden. Beim Klick in D4 passiert nix, bei Klick auf B4 geht Makro auf Fehler.
Hier mein Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.CountLarge = 1 And Target.Column > 3 And Target.Offset(0, -2).Value = "Agentur" Then
With ComboBox1
.Visible = True
.Top = ActiveCell.Top
.Left = ActiveCell.Left
.Width = ActiveCell.MergeArea.Width + 2
.ListRows = 8
.ListFillRange = "Agentur"
.LinkedCell = ActiveCell.Address
.Activate
End With
Else: ComboBox1.Visible = False
End If
End Sub

Gruss
Joachim

Anzeige
AW: Gültigkeit Liste erster Buchstabe
08.03.2016 12:51:50
Daniel
Hi
das Target.Offset(0, -2) darf natürlich nur ausgeführt werden, wenn Target.Column > 2, weil es die Spaltennummern 0 und kleiner nicht gibt.
bei einer AND-Verknüpfung im IF-Block werden aber immer alle Bediungungen zusammen überprüft.
wenn du solche Bediungugen hast, die unbedingt erfüllt sein müssen, damit weitere Bedinungunsprüfungen nicht auf einen Fehler laufen (so wie es hier der Fall ist), solltest du nicht mit AND arbeiten, sondern die IF-Blöcke ineinander schachteln:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ComboBox1.Visible = False
If Target.CountLarge = 1 Then
If Target.Column > 3 Then
If Target.Offset(0, -2).Value = "Agentur" Then
With ComboBox1
.Visible = True
.Top = ActiveCell.Top
.Left = ActiveCell.Left
.Width = ActiveCell.MergeArea.Width + 2
.ListRows = 8
.ListFillRange = "Agentur"
.LinkedCell = ActiveCell.Address
.Activate
End With
End if
End If
End If
End Sub
die inneren IF-Prüfungen werden nur dann ausgeführt, wenn die äusseren WAHR sind und somit kommt es nicht mehr zu dem beschriebenen Fehler.
Es ist hier zwar nicht relevant, aber wenn du mal ne Massendatenverarbeitung in einer Schleife mit vielen Werten machst, dann ist diese Vorgehensweise auch der Vernküpfung mit AND vorzuziehen, weil es schneller ist, da die inneren Prüfungen nicht jedesmal ausgeführt werden, sondern nur dann, wenn die äusseren bereits erfüllt sind.
Gruß Daniel

Anzeige
AW: Gültigkeit Liste erster Buchstabe
08.03.2016 13:09:21
Joachim
Hallo Daniel,
ging am Anfang immer noch nicht. hab dann Target.CountLarge = 3 eingetragen (sind ja 3 verbundene Zellen).
Jetzt geht's.
Danke!!
Werde das heute Abend in die "echte" Datei übertragen.
Schönen Tag
Joachim

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige