Padoom Geschrieben 16. Dezember 2009 Teilen Geschrieben 16. Dezember 2009 (bearbeitet) Hallo Zusammen, ich habe folgenden Code: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 5 Then 'Änderung in Spalte E If Target.Value <> "" Then lrow = Sheets("aaaa").Range("E65536").End(xlUp).Row + 1 '1. freie Zeile wird ermittelt Range("A" & Target.Row & ":I" & Target.Row).Cut Sheets("aaaa").Range("A" & lrow & ":I" & lrow) End If End If End Sub Status: Mit diesem Code erreiche ich das bei einer Bedingung (hier Änderung in Spalte E) die Zeile in einem anderen Sheet reinkopiert werden. Da aber zum Teil sehr große Lücken im Tabelle 1 damit entstehen möchte ich das die anderen Zeilen, bei dem die Bedingung nicht zutrifft, fortlaufend aufgerückt werden sodass ich zwischen den einzelnen Zeilen keine Lücken habe. jemand eine Idee wie es gehen könnte? Danke"! Bearbeitet 16. Dezember 2009 von Padoom Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gelang(while)t Geschrieben 16. Dezember 2009 Teilen Geschrieben 16. Dezember 2009 hey ho, wenn ich das richtig verstanden habe, möchtest du nachdem du ausgeschnitten hast die (leere!?) zeile löschen in tabelle 1, oder? da gibt es in vba die möglichkeit eine aktive zeile zu löschen...(activecell.row oder so) wenn ichs falsch verstanden habe, dann berichtige mich... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Padoom Geschrieben 16. Dezember 2009 Autor Teilen Geschrieben 16. Dezember 2009 hey ho, wenn ich das richtig verstanden habe, möchtest du nachdem du ausgeschnitten hast die (leere!?) zeile löschen in tabelle 1, oder? da gibt es in vba die möglichkeit eine aktive zeile zu löschen...(activecell.row oder so) wenn ichs falsch verstanden habe, dann berichtige mich... Genau die ausgeschnittene Zeile soll dann gleichzeitig auch gelöscht werden Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gelang(while)t Geschrieben 17. Dezember 2009 Teilen Geschrieben 17. Dezember 2009 naja dann löschst du die zeile nachdem du die daten ausgeschnitten hast... musst dir nur die activecell.row anschauen und schon hast du deine Lösung... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
getCppKenntnisse() Geschrieben 22. Dezember 2009 Teilen Geschrieben 22. Dezember 2009 (bearbeitet) Hi Padoom, @gelang(while)t: Eine Erläuterung zu ActiveCell.Row: Row ist ein Attribut des Objekts ActiveCell, und beinhaltet die Nummer der Spalte der aktuellen Zelle. Anschauen kann man sich das ganze mit: MsgBox ActiveCell.Row Es ist keine Funktion die man aufrufen kann um irgendetwas zu löschen. nun zum eigentlichen Problem des Threads: Die Funktion um Zellen komplett zu löschen (also nicht nur deren Inhalt) heisst Delete. Bei dir macht es glaube ich Außerdem Sinn nicht einzelne Zellen sondern einen markierten Bereich zu löschen. D.h. du markierst den zu löschenden Bereich und rufst dann folgende Funktion auf: Selection.Delete Shift:xlShiftUp xlShiftUp gibt dabei die Richtung an, in welche die "übrigen Zellen" verschoben werden sollen (z.B. auch xlShiftLeft möglich) hoffe das hilft dir weiter, mfg Bearbeitet 22. Dezember 2009 von getCppKenntnisse() Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gelang(while)t Geschrieben 22. Dezember 2009 Teilen Geschrieben 22. Dezember 2009 (bearbeitet) okay...sehe ihr habt es falsch verstanden ;-) mit activecell.row bekommste die aktive Zeile raus... und dann kannste den "Rows(ActiveCell.Row).Delete"-Befehl anwenden und damit kannst du ganz unkompliziert und verständlich eine Zeile löschen! Bearbeitet 22. Dezember 2009 von gelang(while)t Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.