HERBERS Excel-Forum - das Archiv
ComboBox Code - Code vereinfachen
carlo

Hallo Zusammen,
Ich habe 31 ComboBoxen immer mit dem gleichen Coden. Im Code sind If-Bedingungen und die sind ziemlich lang und aufwendig. Nun habe ich ja 31 verschiedene ComboBoxen-Namen (1-31) und jetzt habe den gleichen Code 31 mal reingeschrieben und ich wollte fragen ob dies auch in einen Einzigen Code vereinfachen kann? Das heisst nur einmal den Code und die ComboBox-Namen sind dynamisch (1-31)
Hier Beispiel-Bedinungen:
Wenn im ComboBox1 Feld "Auto" steht dann trag Wert in Zelle 12. und Wenn "LKW" Steht dann anderen Wert in Zelle 12 ein.
Wenn nun ComboBox2 "Auto" steht dann trag Wert in Zelle 13 ein. usw... die Zellen-Zahlen sind fortlaufend, wo der Wert eingetragen werden muss.
Kann jemand helfen?
Gruss Carlo

AW: ComboBox Code - Code vereinfachen
Nepumuk

Hallo,
ComboBoxen in einer Tabelle oder einem Userform?
Gruß
Nepumuk
AW: ComboBox Code - Code vereinfachen
Daniel

Hi
schreibe den Code doch in ein allgemeines Makro und rufe dann von den Comboboxen nur dieses Makro auf.
Gruß, Daniel
AW: ComboBox Code - Code vereinfachen
Carlo

Danke für die Antworten.
Die ComboBoxen sind in der Tabelle. Wie soll ich es dann programmieren, dass Excel merkt, wenn der User die Combobox 13 anwählt, dass er in Zelle 13 eintragen soll und nicht in Zelle 12, weil es ja 31 Comboboxen sind...
Gruss Carlo
AW: ComboBox Code - Code vereinfachen
Gerd

Hallo Carlo,
wechsle in den Entwurfsmodus
Rechtsklick auf die Box
Eigenschaften auswählen
Trage unter LinkedCell eine Zelladresse ein, z.B. $A$13
Gruß Gerd
AW: ComboBox Code - Code vereinfachen
Daniel

HI
du kannst doch beim Makroaufruf einen Parameter übergeben, so etwa in dem Stil:
'--- Hier die Makros der Comboboxen
Private Sub ComboBox12_Change()
Call WerteEintragen(ComboBox12, 12)
End Sub

Private Sub ComboBox13_Change()
Call WerteEintragen(ComboBox13, 13)
End Sub

'--- hier das ausführende Marko im gleichen Modul
Private Sub WerteEintragen(cbo, Zeile As Long)
Cells(Zeile, 1).Value = cbo.Value
End Sub
Gruß, Daniel