Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ComboBox Verhalten ( autom. Aufklappen )

Forumthread: ComboBox Verhalten ( autom. Aufklappen )

ComboBox Verhalten ( autom. Aufklappen )
19.02.2018 10:58:44
udo
Guten Morgen Forum-Profis.
In einem Zeilenbreich (6 - 8) ist bei mir eine Combobox_1 platziert.
Die CBx. wird somit auch ein oder ausgeblendet, wenn ich diese Zeilen ein-
ausblende. Dies ist bei mir in der Tabelle ein Suchbereich, welchen ich
kurzfristig einblenden kann, dann ...
( und jetzt kommt das Verhalten dass ich gerne automatisieren würde ) ...
wähle ich das Eingabefeld der ComboBox an und klicke
auf den Dropdown Pfeil ( rechts daneben ) sodass sich der über die
Eigenschaften zugewiesene Spaltenbereich dann zur Auswahl nach unten hin
einblendet / öffnet .
Dieses - extra nochmal das Comboboxfeld anwählen und dann den Dropdown klicken -
würde ich gerne in mein eigentliches Makro schon mit einbauen, welches mir die
Zeilen 6-8 generell ein-(aus-)blendet, sodass beim Einblenden dieser Suchzeile
sich die Auswahl der Combobox ( sprich der Dropdown Bereich ) dann auch
gleich schon öffnen würde, ... dann könnte man gleich evtl. im Scrollbereich
rechts noch etwas scrollen oder gleich in der 40 zeiligfachen Darstellung der
CBx. seine Auswahl treffen.
Kann man das in den Eigenschaften der CBx. einstellen ? Gibts da entspr. Parameter
die man hierzu anpassen könnte oder evtl einen Code dazu ?
Habt ihr dieses Luxusproblem ;-) schon mal behandelt ?
Bin euch für eure Hilfe sehr dankbar
LG Udo
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
... kleiner Teilerfolg , dennoch das Anwählen ?
19.02.2018 11:27:24
udo
Hallo zusammen über den Ereigniscode der ComboBox1 ...
Private Sub ComboBox1_GotFocus()
ComboBox1.DropDown
End Sub
... habe ich das automatische Aufklappen schon mal hinbekommen ...
Allerdings erst wenn man die CBx dann selbst noch anwählt.
Jetzt bräuchte ich zu meinem Glück noch den CODE zum Anwählen ( Sprung ins Eingabefeld der CBx. )
per VBA ...
Wenn ich dann beide vereine sollte ich mein eigentlichen Wunsch damit realisiert haben ...
Habt ihr dazu eine Idee ?
LG udo
Anzeige
aktuelles Verhalten ...
19.02.2018 12:06:21
udo
setzte dies noch ins MouseMove Ereignis, somit bin ich meiner ursprüngl. Frage schon recht nah dran,
...
Private Sub ComboBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
ComboBox1.DropDown
End Sub

dennoch, für meinen Anspruch in diesem Fall wäre es - sobald ich mein ( Zeileneinblend ) Makro aufrufe und sich dann der Dropdownbereich auch gleich noch öffnen würde - damit dann richtig perfekt.
ComboBox1.select / .activate funktioniert so leider nicht ...
Gäbe es eine weitere Variante die CBx. anzuwählen ...
Ein anderer Ansatz der mir noch in Gedanken schwebt, wäre die CBx. selbst ein- bzw. auszublenden
dann könnte ich über das CBx. Ereignis activate / deactivate dies doch mit dem Code
.dropdown
doch evtl. auch dann realisieren ?
Allerdings wie sähe dann der Code zum ein- ausblenden der CBx. aus, und hieße die dann auch immer ComboBox1 ? hmmm
Vielleicht habt ihr noch eine Idee die ich versuchen könnte ?
LG udo
Anzeige
ComboBox aufklappen
19.02.2018 12:53:37
Rudi
Hallo,
ganz einfach mit

Combobox1.DropDown

Gruß
Rudi
Danke - hatte ich schon entdeckt ... wollte ...
19.02.2018 13:34:09
udo
Grüß dich Rudi, das habe ich schon drinnen im Ereignis der CBx.
Private Sub ComboBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
ComboBox1.DropDown
End Sub
Habe das ganze jetzt noch weiters optimiert , habe es nun zu 99% ein klitzekleiner Schritt fehlt noch ...
Ok mein derzeitiger Ansatz sieht wie folgt aus :
Das eigentliche Makro zum einblenden meiner Suchen-Zeile :
Sub Suche_einblenden()
[6:8].EntireRow.Hidden = False
[H7].select ' das ist die Zelle hinter meiner ComboBox1
End Sub Dazu im worksheet-Sel.Change Ereignis () ..
unter anderem folgende Passage ...
If Cells(ActiveCell.Row, ActiveCell.Column) = [H7] Then ComboBox1.DropDown
damit habe ich nun den Effekt den ich wollte - einziger Schönheitsfehler der Dropdown ist nicht
aus der Position der ComboBox-Platzierung ( Höhe Zeile 7 ), sondern ganz oben vom Tabellenrand
( sozusagen ab Zelle H1 ) abwärts ?
sobald ich in dem DropDown eine Auswahl treffe wird diese natürlich in H7 ( das ist die Zelle die verlinkt ist ) eingetragen und durch das Change Ereignis der Cbx. kann ich mit ...
[6:8].EntireRow.Hidden = True
die Suchen-Zeilen damit auch gleich wieder verbergen ( sowie die CBx selbst auch ).
Damit habe ich nun eine Suche zum kurzfristigen Aufrufen über mein Suchen Makro , wo sich nun
der DropDown gleich automatisch einblendet ...
Das I-Tüpfelchen wäre jetzt noch die DropDown-Position bei der ComboBox zu belassen ( bei H7 ) und
nicht von H1 abwärts ...
Kann ich das noch in den Eigenschaften irgendwo einstellen ( fixn ) ?
Lieben Dank für deine Hilfe Rudi
LG Udo
Anzeige
ok, habe es glaube ich hinbekommen ...
19.02.2018 14:04:01
udo
der letzte Schritt war kurzzeitig die Bildschirm Fixierung kurz aufzuheben ...
ich schaue gerade wo ich diese am geschicktesten wieder einbaue dass nach der ganzen Prozedur
dann das Fenster wieder in Höhe [81:81] wieder seine Birmschirmfixierung dann hat.
Ich würde mich später nach Erfolg nochmals kurz zurückmelden ... Danke schon mal im Voraus
LG udo
Anzeige
;
Anzeige

Infobox / Tutorial

Automatisches Aufklappen der ComboBox in Excel


Schritt-für-Schritt-Anleitung

Um die ComboBox automatisch aufklappen zu lassen, wenn du ein bestimmtes Makro ausführst, kannst du folgende Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Finde das entsprechende Arbeitsblatt:

    • Doppelklicke auf das Arbeitsblatt, in dem sich deine ComboBox befindet (z.B. Sheet1).
  3. Füge den folgenden Code in den entsprechenden Ereigniscode ein:

    Private Sub ComboBox1_GotFocus()
       ComboBox1.DropDown
    End Sub
    
    Private Sub ComboBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
       ComboBox1.DropDown
    End Sub

    Dieser Code sorgt dafür, dass die ComboBox öffnet, wenn sie fokussiert wird oder die Maus darüber bewegt wird.

  4. Integriere das Dropdown in dein Makro:

    • Wenn du eine Zeile einblendest, füge die Zeile ComboBox1.DropDown in dein Makro ein:
      Sub Suche_einblenden()
      [6:8].EntireRow.Hidden = False
      [H7].Select ' das ist die Zelle hinter meiner ComboBox1
      ComboBox1.DropDown
      End Sub
  5. Testen:

    • Starte das Makro und prüfe, ob die ComboBox automatisch aufgeklappt wird.

Häufige Fehler und Lösungen

  • Dropdown öffnet nicht:

    • Stelle sicher, dass du den ComboBox1.DropDown Befehl an der richtigen Stelle in deinem Makro eingefügt hast.
  • Dropdown positioniert sich nicht richtig:

    • Um die Position des Dropdowns zu fixieren, musst du möglicherweise die Eigenschaften der ComboBox anpassen. Überprüfe die Positionseinstellungen im VBA-Editor.

Alternative Methoden

Wenn das automatische Aufklappen der ComboBox nicht wie gewünscht funktioniert, kannst du alternative Ansätze ausprobieren:

  • Verwende das Worksheet_Change Ereignis, um das Dropdown zu aktivieren, wenn die Zelle hinter der ComboBox ausgewählt wird.

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address = Range("H7").Address Then
           ComboBox1.DropDown
       End If
    End Sub
  • Verstecke die ComboBox, wenn sie nicht gebraucht wird, und blende sie ein, wenn das Makro ausgeführt wird.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du die ComboBox in einem Makro verwenden kannst:

Sub Suche_einblenden()
    [6:8].EntireRow.Hidden = False
    [H7].Select ' Hinter der ComboBox platzierte Zelle
    ComboBox1.DropDown ' Dropdown öffnen
End Sub

Dieses Beispiel blendet die Zeilen 6 bis 8 ein und öffnet die ComboBox, damit der Benutzer eine Auswahl treffen kann.


Tipps für Profis

  • Nutze das MouseMove Ereignis für eine flüssigere Benutzererfahrung.
  • Experimentiere mit den Eigenschaften der ComboBox in den VBA-Einstellungen, um das Verhalten weiter anzupassen.
  • Verwende die .Activate Methode in Kombination mit .DropDown, um die ComboBox zu aktivieren und gleichzeitig das Dropdown zu öffnen.

FAQ: Häufige Fragen

1. Kann ich die ComboBox auch mit einer Tastenkombination öffnen?
Ja, du kannst das KeyDown-Ereignis verwenden, um das Dropdown mit einer Tastenkombination zu aktivieren.

2. Wie kann ich die Dropdown-Position anpassen?
Die Position des Dropdowns wird durch die Eigenschaften der ComboBox bestimmt. Du kannst versuchen, die Position manuell in den Eigenschaften im VBA-Editor zu ändern.

3. Funktioniert das auch in Excel 365?
Ja, die hier beschriebenen Methoden sind auch in Excel 365 anwendbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige