Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (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 von Padoom
Geschrieben

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...

Geschrieben
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

Geschrieben (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 von getCppKenntnisse()
Geschrieben (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 von gelang(while)t

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...