Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
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
Inhaltsverzeichnis

Combobox: Rückgabe in gleiche Zeile

Combobox: Rückgabe in gleiche Zeile
17.01.2020 21:18:06
Jörg
Hallo Fachleute,
in einer Userform hab ich u.a. zwei Comboboxen.
In der Box5 - Liste Tabelle3.Spalte "E" wähle ich einen beliebigen schon vorhandenen Eintrag aus.
Dieser steht z.Bsp. in Zeile 2.
Box9 - Liste Tabelle3.Spalte "I" zeigt mir den dazugehörigen Eintrag an.
Diesen möchte ich gegebenenfalls ändern und wieder in die entsprechende Zeile zurückschreiben.
Würde mich sehr freuen, wenn mir jemand helfen könnte.
Vielen Dank.
VG Jörg

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox: Rückgabe in gleiche Zeile
17.01.2020 21:26:25
Werner
Hallo,
und wie füllst du deine Comboboxen?
Am besten wäre es, wenn du deine Mappe hochladen würdest.
Gruß Werner
AW: Combobox: Rückgabe in gleiche Zeile
17.01.2020 21:31:20
Jörg
Hallo Werner,
vielen Dank für Deine Nachfrage. Die Boxen werden wie geschrieben aus Spalte "E" bzw. "I" gefüllt.
also:
Box5 - aus Liste Tabelle3.Spalte "E"
Box9 - aus Liste Tabelle3.Spalte "I"
VG Jörg
AW: Combobox: Rückgabe in gleiche Zeile
17.01.2020 21:37:15
Werner
Hallo,
das ist ja mal ne super Aussage.
Und wie? Mit Additem? Mit RowSource?
Und wo ist deine Mappe?
Gruß Werner
AW: Combobox: Rückgabe in gleiche Zeile
17.01.2020 21:55:10
Jörg
Hallo Werner,
mit RowSource.
Aber so ganz versteh ich Deine Nachfrage nicht. Mit dem Füllen hab ich keine Probleme.
Meine Frage war dahingehend.
Ich wähle in Box5 einen Eintrag aus.
Dieser steht in Spalte "E" z.Bsp. Zeile 2
Dann soll der neue Eintrag in Box9 in Spalte "I" und ebenfalls in Zeile 2 landen,
nachdem ich auf meinen Button geklickt habe.
VG Jörg
Anzeige
AW: Combobox: Rückgabe in gleiche Zeile
17.01.2020 22:13:29
Werner
Hallo,
du darfst mir durchaus glauben, dass es seinen Grund hat, weshalb ich das frage.
Bei RowSorce kommt man über den Listidex des ausgewählten Eintrags an die Zeilennummer.
Ich geh mal davon aus, dass deine Datensätze in der Tabelle in Zeile 2 beginnen.
Tabelle3.Cells(Me.Box5.ListIndex + 2, "I") = Me.Box9
+ 2, weil der Index der Box bei 0 beginnt, deine Daten in der Tabelle aber in Zeile 2.
Gruß Werner
AW: Combobox: Rückgabe in gleiche Zeile
17.01.2020 23:00:11
Jörg
Hallo Werner,
bitte entschuldige. Hab halt keine Ahnung.
Also es funktioniert sehr gut.
Eine Frage hätte ich noch bitte.
Wie müßte der Code lauten, wenn ich einen Eintrag in der gleichen Spalte/Zeile ändern will ?
Bei meinem Versuch landet die Änderung in der ersten Zeile der Spalte "E".
Tabelle3.Cells(Me.Box5.ListIndex + 2, "E") = Me.Box5
Vielen Dank.
Jörg
Anzeige
AW: Combobox: Rückgabe in gleiche Zeile
18.01.2020 00:13:24
Werner
Hallo,
das geht so nicht.
Warum:
Du tägst einen neuen Eintrag in die Combobox ein. Da dieser in der Combobox nicht vorhanden ist, bekommt die Combobox den Listindex -1. Und -1 + 2 gibt 1. Somit wirst du immer in Zeile 1 landen.
Man könnte sich beim Change-Event der Box 5 den gewählten Index in einer globalen Variablen merken und zwar nur dann, wenn der Listindex nicht - 1 ist (also nur dann, wenn ein vorhandener Eintrag aus der Combobox gewählt wurde).
Jetzt änderst du diesen Eintrag in der Combobox. Dabei wird zwar auch das Change-Event der Combobox ausgelöst, der Listindex (jetzt -1) wird aber wegen der If-Abfrage nicht in die globale Variable geschrieben.
Beim Schreiben aus der Combobox ins Blatt greifst du dann auf den Wert der globalen Variablen zu.
Pferdefuß bei der Sache:
Öffnest du deine Userform, dann ist die Box 5 leer, es ist kein Wert ausgewählt. Somit hat die Combobox noch keinen Listindex, die globale Variable = 0. Schreibst du jetzt direkt in die Box was rein und speicherst ab, dann landest du immer beim 1. Wert in der Tabelle, sprich bei dir in Zeile 2 und überschreibst den Wert mit dem Eintrag aus der Combobox, obwohl du ja in der Combobox nichts ausgewählt hast.
Da könnte man dann beispielsweise dafür sorgen, dass beim Starten der Userform im Initialize-Ereignis der Userform den ersten Eintrag in der Combobox anzeigen lässt.
Public loIndex As Long
Private Sub Box5_Change()
If Me.Box5.ListIndex > -1 Then
loIndex = Me.Box5.ListIndex
End If
End Sub
Private Sub CommandButton1_Click()
Tabelle3.Cells(loIndex + 2, "E") = Me.Box5
End Sub
Private Sub UserForm_Initialize()
Me.Box5.ListIndex = 0
End Sub
Gruß Werner
Anzeige
AW: Combobox: Rückgabe in gleiche Zeile
18.01.2020 13:00:10
Jörg
Hallo Werner,
danke Dir. Der Code funktioniert.
Für weitere Fragen würd ich dann doch mal die Datei hochladen.
Wünsche Dir ein schönes WE.
VG Jörg
P.S. Trotz Häkchen im Kontrollkästchen bekomme ich keine Mails mit der Info, dass mir geantwortet wurde.
In der Antworterliste hab meine Email-Adresse ebenfalls hinterlegt.
Gerne u. Danke für die Rückmeldung. o.w.T.
18.01.2020 13:07:37
Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige