Hallo Holylon
Es funktioniert auch mit Listbox prima
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim rngC As Range
For Each rngC In Range("F3:F" & Cells(Rows.Count, 2).End(xlUp).Row)
If rngC.Value = "" Then
rngC.Value = "x"
Else
rngC.Value = ""
End If
Next
End Sub
das problem ist nur das er dann _alle_ die kein X haben austauscht (und umgekehrt). Ich will aber das er nur den ausgewählten (bzw in der Listbox angeklickten) auswechselt.
Ich habe mal was gelesen von wegen das jede Listbox ihre einträge mit einem Wert versieht (also fortlaufen, Eintag 1=2, Eintrag2= 2, usw...)
Gibt es da nicht die Möglichkeit, genau diesen Wert auszulesen (also zb ich doppelklicke auf den 32 Wert in der Listbox, integer wert ist also 32) und dann über diesen Wert die zelle bilde? Beispiel zum verständnis:
Doppelklick auf eintrag 11: Über vba code wert der Variable intIndex zuweisen. Da meine Tabelle auf B3 (also die zu änderten werte) beginnt, addiere ich zu intIndex 2
intIndex intIndex + 2
und dann bilde ich die Zelle mit
strZellname = "F" + cstr(intIndex)
und dann kann ich per range(strzellname) die zu verändernde Zelle ansprechen. Geht das so? Ist zwar kompliziert aber ich könnts mir vorstellen, und bei der kleinen Menge an Daten dürfte es da auch zu keinen Leistungschwächen kommen.
Mir ist noch eine Frage eingefallen. Welchen Code bräuchte ich, wenn ich einen Eintrag auswähle und dann per Buttondruck die gesamte Zeile bearbeiten möchte? (also m it inputboxen, das bekomme ich schon hin) Mein Problem ist hier wieder der Übertrag in die Tabelle.
Lg