Zum Inhalt springen

Suche VBA


Padoom

Empfohlene Beiträge

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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()
Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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