Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
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
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

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige