Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1844to1848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeile kopieren wenn Zelle gelöscht wird

Zeile kopieren wenn Zelle gelöscht wird
06.09.2021 09:16:04
MW
Hallo zusammen,
Ich bin etwas ratlos und komme nicht weiter. Folgende Situation: Ich habe eine Mappe bestehend aus 2 Worksheets. Wenn ich auf Worksheet1 ein Datum eintrage (Zelle C5 - C50), soll die gesamte Zeile auf die nächst freie Zeile in Worksheet2 kopiert werden. Diese Funktion läuft auch einwandfrei.
Nun mein Problem: Wenn ich auf Worksheet2 ein beliebiges Datum lösche (Zelle C5 - C50), soll die gesamte Zeile im Anschluss an das Löschen des Datums wieder zurück auf Worksheet1 in die nächst freie Zeile kopiert werden. Kann mir da jemand helfen?
Hier mein Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C5:C50")) Is Nothing Then
If Target = "" Then
Application.EnableEvents = False
Target = Range("C5:C50")
Application.EnableEvents = True
End If
End If
Dim j As Long, i As Long, a As Long, y As Long, x As Long
a = 5
y = 5
If Not IsEmpty(Tabelle1.Range("C:C").Value) Then
Application.ScreenUpdating = False
For i = 5 To 50
With Worksheets("Worksheet1")
If .Cells(i, "C")  "" Then
For j = 5 To 50
If IsEmpty(Worksheets("Worksheet2").Cells(j, "A")) Then
a = j
j = 50
End If
Next j
.Rows(i).Copy Destination:=Worksheets("Worksheet2").Rows(a)
.Rows(i).Delete
End If
End With
Next i
End If
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile kopieren wenn Zelle gelöscht wird
06.09.2021 13:02:39
migre
Hallo!
Welche Spalten deckt Dein Datenbereich jeweils ab? Klar ist, es geht um die Zeilen 5 bis 50, aber in welcher Spalte beginnen bzw. enden die jeweiligen Daten? zB A:E? Deckt sich dieser Bereich in den beiden Blättern?
LG Michael
AW: Zeile kopieren wenn Zelle gelöscht wird
06.09.2021 13:20:27
MW
Hallo Michael,
der Eintrag der Daten geht von Spalte A bis T (A:T). Der Bereich ist auch in beiden Blättern gleich / deckt sich.
LG
Marco
AW: Zeile kopieren wenn Zelle gelöscht wird
06.09.2021 13:56:42
migre
Hallo!
Da muss ich nochmal fragen... Übertragen von WS1 auf 2 ist mir noch (relativ) klar: Du trägst in einer Zelle im Bereich C5:C50 ein Datum ein (kann es sein, dass Du hier auch etwas anderes eingibst, als ein Datum und soll dann dieser Vorgang NICHT oder etwas anderes passieren?), dann soll Ax:Tx (je nachdem, wo Du das Datum einträgst) nach WS2 kopiert werden.
Was ist wenn WS2 bereits bis Zeile 50 gefüllt ist? Wird der Vorgang dann abgebrochen? Oder Zeile 50 überschrieben? Oder wieder von oben, also Zeile 5 überschrieben?
Beim Löschen in WS2 ist mir auch noch unklar: Wenn Du in C5:C50 auf WS2 etwas löscht - bleiben die Einträge in Ax:Tx, bis auf Cx:Cx; in WS2 bestehen oder wird dieser Eintrag in WS2 komplett entfernt, und alles bis auf den Datumswert wieder nach WS1 übertragen?
Auch hier: Was ist wenn WS1 bereits bis Zeile 50 gefüllt ist (s.o.)?
Anzeige
AW: Zeile kopieren wenn Zelle gelöscht wird
06.09.2021 15:32:41
MW
Hallo Michael,
in der Mappe werden auf WS1 laufende Projekte festgehalten mit allen Informationen dazu. Die Spalte C (Datum eintragen) trägt die Überschrift "Abgeschlossen am", also trage ich dort ein, welches Projekt zu welchem Datum abgeschlossen wurde. Ist das Datum dort eingetragen, wird die gesamte Zeile (alle Informationen zu dem Projekt) auf WS2 kopiert (auf WS2 sind alle abgeschlossenen Projekte "archiviert"). Bis hier hin hab ich es ja auch am laufen.
Angenommen es wurde jetzt bei einem Projekt ein Datum eingetragen, welches nicht zusammengehört, dann soll sich die gesamte Zeile durch löschen des Datums wieder zurück auf WS1 kopieren, sodass es wie vorher ohne Datum auf WS1 steht.
Der Bereich (C5:C50) ist nur beliebig gewählt, sollte das irgendwann an seine Grenzen stoßen kann man das einfach größer machen.
WS2 stellt ein Archiv der abgeschlossenen Projekte dar. Prinzipiell soll immer in die nächst freie Zeile kopiert und nichts überschrieben werden.
Genau, beim löschen in WS2 werden alle Werte (mit Ausnahme des Datums natürlich) wieder zurück auf WS1 übernommen.
LG Marco
Anzeige
AW: Zeile kopieren wenn Zelle gelöscht wird
06.09.2021 17:39:07
Werner
Hallo,
sind in deinen beiden Tabellenblättern Überschriften vorhanden?
Besser wäre es, wenn du mal eine Beispieldatei mit ein paar Spieldaten hier hochladen würdest. Kein Mensch kennt deinen Tabellenaufbau. Somit weiß auch niemand, in welcher Spalte beispielsweise die letzte belegte Zelle ermittelt werden kann.
Hier mal ein Schuß aus der Hüfte. Die letzte belegte Zelle wird in beiden Blättern in Spalte A ermittelt.
Ins Codemodul von Tabellenblatt1:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 3 And Target.Row >= 5 Then
If Target.CountLarge = 1 Then
If IsDate(Target) Then
Application.EnableEvents = False
Rows(Target.Row).Copy _
Worksheets("Tabelle2").Rows(Worksheets("Tabelle2").Cells(Rows.Count, "A").End(xlUp).Offset(1).Row)
Rows(Target.Row).Delete
End If
Else
MsgBox "Fehler: Mehrfachauswahl nicht zulässig."
End If
End If
On Error GoTo -1
Application.EnableEvents = True
End Sub
Ins Codemodul von Tabellenblatt2:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 3 And Target.Row >= 2 Then
If Target.CountLarge = 1 Then
If Target = "" Then
Application.EnableEvents = False
Rows(Target.Row).Copy _
Worksheets("Tabelle1").Rows(Worksheets("Tabelle1").Cells(Rows.Count, "A").End(xlUp).Offset(1).Row)
Rows(Target.Row).Delete
End If
Else
MsgBox "Fehler: Mehrfachauswahl nicht zulässig."
End If
End If
On Error GoTo -1
Application.EnableEvents = True
End Sub
Gruß Werner
Anzeige
AW: Zeile kopieren wenn Zelle gelöscht wird
07.09.2021 12:13:01
MW
Hallo Werner,
so wie du es geschrieben hast funktioniert das in beide Richtungen einwandfrei!
Vielen Dank!
LG Marco
Gerne u. Danke für die Rückmeldung. o.w.T.
07.09.2021 12:31:20
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige