Daten ändern bzw. löschen über UserBox
09.03.2005 17:02:59
Heinz
das Ding bringt mich noch um den Verstand. ;-)
Ich habe eine Tabelle.
Die enthaltenen Daten werden mittels Userbox eingelesen:
lr = Worksheets("Komplett").Cells(Rows.Count, 1).End(xlUp).Row Me.ComboBox1.RowSource = "Komplett!d4:e" & lr
Me.ComboBox1.ListIndex = 0
Die eingelesenen Daten werden, nachdem ein Wert ijn der ComboBox ausgewählt wurde, in mehreren Textboxen angezeigt:
Private Sub ComboBox1_Change()
TextBox1 = Worksheets("Komplett").Cells(ComboBox1.ListIndex + 4, 4)
TextBox2 = Worksheets("Komplett").Cells(ComboBox1.ListIndex + 4, 3)
usw.
End Sub
Nun möchte ich über die Textboxen Änderungen vornehmen. Diese sollen dann mit einem Button wieder in die Tabelle zurückgeschrieben werden:
Private Sub cmdDatenübernehmen1_Click()
z = 1
Do While Cells(z, 4) <> ""
z = z + 1
Loop
Cells(z, 4) = Me.TextBox1
Cells(z, 1) = Me.TextBox2
usw.
End Sub
Über die obige Variante hängt Excl mir das ans Ende der Tabelle an. Das will ich aber nicht.
Wenn ich nun die folgende Variante wähle ändert mir Excel nichts, weder wird am Ende angehängt, noch in der aktuellen Zeile etwas verändert. Wobei Textbox1 ist der gleiche Inhalt wie in Combobox1.
Cells(ComboBox1.ListIndex + 4, 4) = Me.TextBox1
Cells(ComboBox1.ListIndex + 4, 3) = Me.TextBox2
usw.
Nehme ich die erste Zeile weg, also die mit der Textbox1, dann schreibt Excel die Daten genau dahin wo sie hinsollen, nämlich in die zu ändernde Zeile.
Allerdings kommt es auch vor das die Daten welche in der Textbox1 stehen geändert werden müssen. Und daher kann ich diese TextBox nicht einfach entfallen lassen.
usw. steht nur als Platzhalter hier, es gibt halt noch mehr Textboxen.
Dann habe ich noch das Problem das ich ein Zeile löschen möchte.
Und zwar auch wieder über die ComboBoxauswahl.
Also wenn ich einen Wert in der Combobox ausgewählt habe soll diese Zeile in der Tabelle gelöscht werden, nicht die Zeile entfernen weil ich die noch brauche wegen der Datenbankgröße. Wenn da jemand ne Idee hat bitte gleich mit schreiben ;-)
Ich hoffe ihr könnt mir helfen.
Gruß
Heinz