Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
644to648
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
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox Change ereignis

ComboBox Change ereignis
01.08.2005 10:02:40
Werner
Hallo zusammen,
Auf einer UserForm lasse ich durch das Change Ereignis der cboFertigmeldung die unteren Boxen füllen. In den Spalten A bis M stehen Daten und es kommen auch laufend welche hinzu.
Meine Frage, wie kann ich erreichen, das nur die Daten eingetragen werden, wenn in der Spalte N keine Daten stehen.

Private Sub cboFertigmeldung_Change()
'Daten aus Tabellenblatt in die Eingabemaske übertragen
Dim SW As Range
Set SW = Sheets("Maschinen_Eingaben").[A2]
Me.txtDatum = SW.Offset(Me.cboFertigmeldung.ListIndex, 0)
Me.cboName = SW.Offset(Me.cboFertigmeldung.ListIndex, 1)
Me.txtUhrzeit = SW.Offset(Me.cboFertigmeldung.ListIndex, 2)
Me.txtSchicht = SW.Offset(Me.cboFertigmeldung.ListIndex, 3)
Me.txtGruppe = SW.Offset(Me.cboFertigmeldung.ListIndex, 4)
Me.cboMaschine = SW.Offset(Me.cboFertigmeldung.ListIndex, 5)
Me.cboAusführungDurch = SW.Offset(Me.cboFertigmeldung.ListIndex, 8)
Me.txtArtDerBeanstandung = SW.Offset(Me.cboFertigmeldung.ListIndex, 9)
Me.txtBenötigteZeit = SW.Offset(Me.cboFertigmeldung.ListIndex, 13)
End Sub

Werner

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox Change ereignis
01.08.2005 13:48:31
MichaV
Hallo,
ungetestet:
Private Sub cboFertigmeldung_Change()
'
'Daten aus Tabellenblatt in die Eingabemaske übertragen
'wenn in Spalte N keine Daten stehen
'
Dim SW As Range
Set SW = Sheets("Maschinen_Eingaben").[A2]
If SW.Offset(Me.cboFertigmeldung.ListIndex,13)="" Then Exit Sub 'Wenn in Spalte N nix, dann Sub verlassen
Me.txtDatum = SW.Offset(Me.cboFertigmeldung.ListIndex, 0)
...
Gruss- Micha
PS: Rückmeldung wäre nett.
AW: ComboBox Change ereignis
02.08.2005 09:05:21
Werner
Hallo Micha,
ich habe gestern nicht mehr nachsehen können, habe aber festgestellt, das ich den falschen Code geschickt habe.
Me.cboFertigmeldung.Clear 'löscht die ComboBox - Korrektur -
Dim SW As Range
While SW <> ""
'holt die Werte in die Box
Me.cboFertigmeldung.AddItem SW & " / " & SW.Offset(0, 1) & " / " & SW.Offset(0, 4) & " / " & SW.Offset(0, 5) _
& " / " & SW.Offset(0, 6) & " / " & SW.Offset(0, 7)
Set SW = SW.Offset(1, 0)
Wend
gruss Werner
Anzeige
AW: ComboBox Change ereignis
02.08.2005 09:11:41
Werner
noch mal der Code, hatte eine Zeile vergessen.
Me.cboFertigmeldung.Clear 'löscht die ComboBox - Korrektur -
Dim SW As Range
Set SW = Sheets("Maschinen_Eingaben").[A2] 'setzt den Zeiger in die Zelle A2
While SW <> ""
'holt die Werte ZeiNummer / AufNummer / Datum in die Box vom Blatt Ergebnis
Me.cboFertigmeldung.AddItem SW & " / " & SW.Offset(0, 1) & " / " & SW.Offset(0, 4) & " / " & SW.Offset(0, 5) _
& " / " & SW.Offset(0, 6) & " / " & SW.Offset(0, 7)
Set SW = SW.Offset(1, 0)
Wend
Werner
AW: ComboBox Change ereignis
02.08.2005 09:15:48
MichaV
Hallo Werner,
das Prinzip bleibt gleich. Vor dem Eintragen abfragen, ob in Spalte N was steht:
(wieder ungetestet)

While SW <> ""
'holt die Werte in die Box
If SW.Offset(Me.cboFertigmeldung.ListIndex,13)="" Then
Me.cboFertigmeldung.AddItem SW & " / " & SW.Offset(0, 1) & " / " & SW.Offset(0, 4) & " / " & SW.Offset(0, 5) _
& " / " & SW.Offset(0, 6) & " / " & SW.Offset(0, 7)
End If
Set SW = SW.Offset(1, 0)


Gruss- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: ComboBox Change ereignis
02.08.2005 09:33:30
Werner
Hallo Micha,
das geht irgendwie nicht. Ich bekomme auch die Zeilen angezeigt, wo in Spalte N ein Eintrag steht, aber andere Zeilen , wo in Spalte N nichts steht, werden nicht angezeigt.
Die Datei habe ich mal hochgeladen.
https://www.herber.de/bbs/user/25208.xls
Im UserForm "frmBenötigteZeit" habe ich den Code mal so eingetragen, wie du es vorgeschlagen hast.
Gruss Werner
AW: ComboBox Change ereignis
02.08.2005 13:02:30
MichaV
Hallo Werner,
das war noch ein Überbleibsel vom alten Code.
Das hier funzt in Deiner Beispielmappe. Nur wenn in Spalte N nix steht, wird der Eintrag zur Combo hinzugefügt.

While SW <> ""
If SW.Offset(0, 13) = "" Then
Me.cboFertigmeldung.AddItem SW & " / " & SW.Offset(0, 1) & " / " & SW.Offset(0, 4) & " / " & SW.Offset(0, 5) _
& " / " & SW.Offset(0, 6) & " / " & SW.Offset(0, 7)
End If
</PRE>
Gruss- Micha
PS: Rückmeldung wäre nett.

Anzeige
AW: ComboBox Change ereignis
02.08.2005 16:35:09
Werner
Hallo Micha,
habe jetzt meinen Code durch Deinen ersetzt, aber irgendwie komme ich nicht klar.
Wenn ich den Code einsetze, ist kein eintrag in der ComobBox?
gerus Werner
AW: ComboBox Change ereignis
03.08.2005 09:00:49
MichaV
Hallo Werner,
das verstehe ich nicht. Hier mal die von mir geänderte Mappe und wie es bei mir aussieht.
https://www.herber.de/bbs/user/25250.xls

Die Datei https://www.herber.de/bbs/user/25252.gif wurde aus Datenschutzgründen gelöscht

Gruss- Micha
PS: Rückmeldung wäre nett.
AW: ComboBox Change ereignis
03.08.2005 15:53:20
Werner
Hallo Micha,
ich habe eine Zeile "Set SW = SW.Offset(1, 0)" mit gelöscht und da ging es nicht.
Noch mals danke für deine Mühen.
eine Frage hätte ich da doch noch.
Wenn ich die Daten in der ComboBox auswähle, bekomme ich die 2 Zeilen angezeigt, wo in der Spalte N keine Einträge stehen. In der TextBox "txtBenötigteZeit" auf der Userform wird aber der 1. oder 2. Eintrag aus der Spalte N eingetragen.
Gedacht war es eigentlich, wenn ich in dei TextBox was eintrage, dass der Wert dann in genau der Ausgewählten Zeile in Spalte N eingetragen wird. Jetzt wird der Eintrag in N1 oder N2 geschrieben.
Ich hoffe mich einigermaßen gut ausgedrückt zu haben.
Gruss Werner
Anzeige
AW: ComboBox Change ereignis
04.08.2005 14:43:57
MichaV
Hallo Werner,
Du schreibst Me.txtBenötigteZeit = SW.Offset(Me.cboFertigmeldung.ListIndex, 13)
Me.cboFertigmeldung.ListIndex ist der Index des in cboFertigmeldung ausgewählten Eintrages. Das ist - wenn zwei Einträge vorhanden sind - 0 oder 1. Der Listindex hat nix mit der Position Deiner Daten im Excel- Blatt zu tun! Die Arbeit mit Offset muß hier also zu Fehlern führen.
Du könntest Dir z.B. während der Füllung der Combobox eine Matrix bauen, die eine Zuordnung der Zeilen zum Listindex möglich macht:
Listindex 0: Zeile 4
Listindex 1: Zeile 6
Gruss- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: ComboBox Change ereignis
05.08.2005 09:44:00
Werner
Hallo Micha,
die Idee währe ja nicht schlecht, wie genau erstellt mann so eine Matrix?
Nun sind ja in der Datei nur wenige Daten, die werden aber im laufe der Zeit immer mehr.
Da ist doch bestimmt eine feste Zuordnung vom Listindex zu einer bestimten Zeile nichr richtig oder?
Gruss Werner
AW: ComboBox Change ereignis
05.08.2005 23:05:51
MichaV
Hallo Werner,
ich hab Dir das mal für diese Combobox eingebaut und erklärt.
Geändert haben sich:
Modul 1:Allgemeine Deklarationen (ganz oben)
frmBenötigteZeit:Private Sub UserForm_Activate() , Private Sub cboFertigmeldung_Change() und Private Sub cmdFertigmeldung_Click()
https://www.herber.de/bbs/user/25359.xls
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige