10.06.2018, 09:06
(Dieser Beitrag wurde zuletzt bearbeitet: 10.06.2018, 09:06 von RPP63.
Bearbeitungsgrund: diverse Ergänzungen
)
(09.06.2018, 10:08)shift-del schrieb: Wow, woher hast du das gewusst?
Moin!
Ich kenne das Internet auswendig. :19:
Und im Ernst:
Der Code ist m.E. ausgesprochen ungelenk, wird in ernsthaften Anwendungen sicherlich nicht genutzt und hat sich mir allein deshalb eingeprägt.
Um mal zum Thema zu kommen:
Du musst anhand eines eindeutigen Kennzeichens (Primärschlüssel) die entsprechende Zeile ermitteln.
Ob Du dies per Range.Find-Methode machst:
Sub RPP1()
Dim Fund As Range, Zeile&
Set Fund = Tabelle1.Range("A:A").Find("Ulf", LookIn:=xlValues, LookAt:=xlWhole)
If Not Fund Is Nothing Then
Zeile = Fund.Row
End If
End Sub
oder per WorksheetFunction.Match():
Sub RPP2()
Dim Zeile&
Zeile = WorksheetFunction.Match("Ulf", Tabelle1.Range("A:A"), 0)
End Sub
ist Geschmackssache.
Die Do While Schleife aus dem gelöschten Code von MW ist jedenfalls viel zu langsam und in meinen Augen ungelenk.
Wenn Du jetzt die Zeile hast, kannst Du mittels Cells(Zeile, Spalte).Value = ComboBox1.Text Deinen Wert übergeben.
Noch ein Zusatz zum gelöschten Code:
Es gibt nur sehr wenige Fälle, in denen eine List- oder Combobox per langsamer .AddItem-Methode gefüllt werden muss.
Besser füllt man sie in einem Rutsch mittels Listbox1.List = Range("xyz")
Lesefutter mit einem schier unerschöpflichen Repertoire:
http://www.snb-vba.eu/VBA_Fill_combobox_listbox_en.html
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)