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

Forumthread: Comboboxen ansprechen

Comboboxen ansprechen
05.02.2018 07:57:15
Malte
Hallo Leute,
erstmal besten Dank für dieses Forum hier. Es macht eine Menge Spass und ist überaus hilfreich bei Arbeiten mit VBA!!
Nach langem mitlesen und viel rumprobieren muss ich nun um Hilfe bei folgendem Problem bitten:
Ich erfasse Lagerdaten (Produkt, Gewicht, ...) in eier Excel- Tabelle (kein Userform). Die Produkte waren ursprünglich in einem Dropdown aus der Datenüberprüfung, hier haben die Anwender aber (zu Recht) bemägelt dass die Schrift zu klein ist, diese ist aber nicht änderbar.
Also habe ich ActiveX-Steuerelemente "Combobox" gewählt und per Makro in allen 2000 Zeilen eine Combobox mit dem Namen entsprechend der Zeile erzeugt, klappt soweit gut. Nun möchte ich nach der Auswahl eines Produktes in der Combobox in die nächste Zelle rechts daneben mit der TAB-Taste springen. Hierfür habe ich ein KeyDOwn-Ereignis dass die nächste Zelle rechts aktiviert nur: Was ist die nächste Zelle?
Wie Schaffe ich es, den Namen/verlinkte Zelle meiner aktiven Combobox zu speichern?
Wählt der Anwender das Dropdown in B3 soll danach nach C3 gesprungen werden.
Ich könnte natürlich für jede Combobox ein Click-Ereignis definieren und die Zeile in eine Variable schreiben, aber für 2000 Comboboxen? Das muss doch eleganter gehen.
Meine letzte Idee ist nun eine Klasse und dann ein Klassen-Ereignis, aber damit kenne ich mich nicht so echt aus.
Gibt es alternativen? z. B. ein "ME"- Befehl für die Comboboxen?
Danke für eure Hilfe,
Malte
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Comboboxen ansprechen
05.02.2018 12:50:39
Rudi
Hallo,
2000 Comboboxen sind Blödsinn. Eine reicht. Die schiebst du per Worksheet_selectionChange auf die ausgewählte Zelle.
Auf die Schnelle:
Dim bolCode As Boolean
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
bolCode = True
With ComboBox1
.Top = Target.Top
.Left = Target.Left
.LinkedCell = Target.Address
.Visible = True
.DropDown
End With
Else
ComboBox1.Visible = False
End If
bolCode = False
End Sub
Private Sub ComboBox1_Change()
If Not bolCode Then
With ComboBox1
.TopLeftCell.Offset(, 1).Select
.Visible = False
End With
End If
End Sub

Gruß
Rudi
Anzeige
AW: Comboboxen ansprechen
05.02.2018 15:43:56
Malte
Hallo Rudi,
super, das klappt!
Vielen herzlichen Dank,
Malte
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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