Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1036to1040
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
Mit ComboBox_Change ein Modul aufrufen
11.01.2009 18:22:00
Werner
Hallo an alle,
ich habe schon wieder mal ein Frage, auf die ich keine Antwort finde weil ich nicht weiß, wonach ich suchen soll.
Ich möchte mit einem ComboBox Change-Ereignis ein Modul aufrufen die dann Werte aus einem Arbeitsblatt in Textboxen einträgt.
Das funktioniert alles, solange der Code der Combobox direkt zugeordnet ist.
Wenn ich die Codezeilen in ein Modul auslagern möchte und dann mit Call aufrufen, dann bekomme ich die "Fehlermeldung 424 Objekt erforderlich."

Sub SchichtzeitenComboBoxMitarbeiter1()
usfArbeitszeitEintragen.cboMitarbeiter1.List = Sheets("Stammdaten").Range("B28:B34").Value
If usfArbeitszeitEintragen.cboMitarbeiter1  "" Then
With Worksheets("Stammdaten")      danach kommt die Fehlermeldung
usfArbeitszeitEintragen.tbo1VonMitarbeiter1.Value = .Cells(cboMitarbeiter1. _
ListIndex + 28, 4).Text
usfArbeitszeitEintragen.tbo1BisMitarbeiter1.Value = .Cells(cboMitarbeiter1. _
ListIndex + 28, 5).Text
usfArbeitszeitEintragen.tbo2VonMitarbeiter1.Value = .Cells(cboMitarbeiter1. _
ListIndex + 28, 6).Text
usfArbeitszeitEintragen.tbo2BisMitarbeiter1.Value = .Cells(cboMitarbeiter1. _
ListIndex + 28, 7).Text
usfArbeitszeitEintragen.tbo3VonMitarbeiter1.Value = .Cells(cboMitarbeiter1. _
ListIndex + 28, 8).Text
usfArbeitszeitEintragen.tbo3BisMitarbeiter1.Value = .Cells(cboMitarbeiter1. _
ListIndex + 28, 9).Text
End With
Else
usfArbeitszeitEintragen.tbo1VonMitarbeiter1.Value = ""
usfArbeitszeitEintragen.tbo1BisMitarbeiter1.Value = ""
usfArbeitszeitEintragen.tbo2VonMitarbeiter1.Value = ""
usfArbeitszeitEintragen.tbo2BisMitarbeiter1.Value = ""
usfArbeitszeitEintragen.tbo3VonMitarbeiter1.Value = ""
usfArbeitszeitEintragen.tbo3BisMitarbeiter1.Value = ""
End If
End Sub


Die Hilfe 'hilft' mir hier auch nicht weiter, vielleicht weiß jemand Rat.
Danke für Eure Bemühungen!
Werner

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in Modul Userform-Objekte verwenden
11.01.2009 18:53:22
Erich
Hallo Werner,
in der rechten Seite der Zuweisung
.Cells(cboMitarbeiter1.ListIndex + 28, 4).Text
ist vermutlich cboMitarbeiter1 nicht bestimmt. Arbeitest du ohne "Option Explicit"?
cboMitarbeiter1 wäre hier einfach nur eine Variable, und die hat keinen ListIndex.
Vermutlich sollte es usfArbeitszeitEintragen.cboMitarbeiter1.ListIndex heißen.
Mit dem ComboBox-Change-Ereignis hat das eigentlich gar nichts mehr zu tun.
Das Modul kann von überall her aufgerufen werden.
(Aus meiner Sicht machen derartig lange Objekt- und Variablennamen den Code unübersichtlich,
aber das ist natürlich Geschmackssache...)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: in Modul Userform-Objekte verwenden
11.01.2009 19:09:00
Werner
Hallo Erich,
danke, für Deine rasche Antwort!
Also, ich deklariere meine Variablen normalerweise schon, der gepostete Code war aus meinem Arbeitsspeicher.
Das mit den langen Namen für die Controls liegt daran, dass ich sie sonst nicht so ohne weiteres auseinander halten kann. Normalerweise ist das auch nicht meine Art...kurz und aussagekräftig sollen sie sein, ganz klar. Aber in diesem Fall gehts nicht anders (glaube ich)....
Sieht so aus als müsste ich mich etwas näher mit den Indizes befassen. Du hast mich auf jeden Fall auf eine Idee gebracht. Aber, dass werde ich dann morgen testen.
Wahrscheinlich bin ich noch nicht so weit, aber man wächst mit seinen Herausforderungen.
Danke, für Deinen Beitrag!
Werner
Anzeige
AW: in Modul Userform-Objekte verwenden
11.01.2009 19:42:00
Erich
Hi Werner,
hoffentlich habe ich dich jetzt nicht auf eine falsche Spur gebracht: die "Indizes"!
Ich meinte nur, dass du anstelle von
= .Cells(cboMitarbeiter1.ListIndex + 28, 4).Text
mal probieren solltest
= .Cells(usfArbeitszeitEintragen.cboMitarbeiter1.ListIndex + 28, 4).Text
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: in Modul Userform-Objekte verwenden
13.01.2009 10:08:00
Werner
Hallo Erich,
tut mir leide, dass ich erst jetzt antworte, aber ich bin gestern flach gelegen ( heftige Virusinfektion).
Du hasttest Recht, ich muss das Objekt näher definieren.
Wenn ich den Code auslagere. Woher soll der Compiler wissen, wo sich das angesprochene Objekt befindet. Zumindest ist das mein vager Verdacht.....
Vielen Dank für Deine Hilfe! Ich bin ja noch ziemlicher Anfänger aber dank solcher hilfreichen Beiträge kann sich jeder Anfänger weiter entwickeln.
Viele Grüße
Werner
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige