AW: neue Daten in freie Zeile schreiben
13.04.2016 15:28:50
Daniel
Hi
du solltest keine Leeren Zeilen innerhalb der Liste stehen lassen.
sowas stört, wenn Excel ansonsten in der Lage wäre, den Tabellenbereich automatsich zu ermitteln (z.B. beim sortieren, autofiltern, in VBA mit CurrentRegion)
dh leere in der Zeile nicht nur die Inhalte, sondern lösche sie mit .Delete.
dh ersetze dein:
Worksheets("Tabelle1").Cells(intAktiveZeile, 1).Value = ""
Worksheets("Tabelle1").Cells(intAktiveZeile, 2).Value = ""
Worksheets("Tabelle1").Cells(intAktiveZeile, 3).Value = ""
durch
Worksheets("Tabelle1").Cells(intAktiveZeile, 1).Resize(1, 3).Delete Shift:=xlup
oder sortiere die Tabelle neu, dann werden die Leerzeilen automatisch ans Tabellenende gespült.
wenn du aber die Lücken behalten willst und nachträglich füllen willst, dann geht das natürlich auch.
suche die erste freie Zelle in Spalte A dann so:
intFreieZeile = Columns(1).Find(what:="", lookat:=xlWhole, LookIn:=xlValues).Row
desweiteren würde ich dir empfehlen, nicht das CHANGE_Event zu verwenden, wenn du darauf reagiern willst, dass der Anwender in der Combobox einen Eintrag auswählt.
Das Change-Event spricht nämlich bei JEDER Änderung an der Combobox an, egal wer ändert oder was geändert wird.
Besser ist das CLICK- oder MouseUp-Event.
gruß Daniel