Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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

Zurückkopieren von Zeilen

Zurückkopieren von Zeilen
23.06.2017 10:11:43
Zeilen
Hallo liebe Excel-Freunde,
vorab, ich habe sehr wenig VBA-Erfahrungen. Ich hatte es mal vor langer Zeit in der Schule, jedoch ist davon nicht mehr viel hängengeblieben. Ich habe derzeit folgendes Problem:
Ich habe eine Tabelle mit 2 Arbeitsblättern, im Grunde handelt es sich um eine Checkliste. Wenn im Arbeitsblatt 1 die Bedingung in der Spalte E:Status = "Erledigt" ist und in Spalte F: Wann? ein Datum eingetragen ist, dann kopiert er die gesamte Zeile und fügt diese in das Arbeitsblatt "Abgeschlossen" ein. Dies funktioniert soweit mit folgendem Makro ganz gut:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim loLetzte1 As Long
With Worksheets("Abgeschlossen")
loLetzte1 = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
End With
If Target.Count > 1 Then Exit Sub
If Target.Column = 5 Then
If Target.Row > 1 Then
If Target.Value = "Erledigt" Then
If Target.Offset(, 1) = "" Then
MsgBox "Wann erledigt?"
Target = ""
Target.Offset(, 1).Select
Else
Target.EntireRow.Copy Worksheets("Abgeschlossen").Rows(loLetzte1)
Target.EntireRow.Delete shift:=xlUp
End If
End If
End If
End If
End Sub

Soweit so gut. Diese Tabelle wird dann durch weitere Arbeitsblätter erweitert, z.B. Hauptkonferenz, Vorkonferenz usw... Angenommen der Anwender wählt im Arbeitsblatt "Hauptkonferenz" versehentlich in der Spalte E "Status" erledigt aus, wird die Zeile direkt in das Arbeitsblatt Abgeschlossen kopiert. Nun gehe ich aber in das Arbeitsblatt "Abgeschlossen" und möchte, dass wenn ich in Spalte E "Status" das "Erledigt" wieder entferne, er die Zeile automatisch in das ursprüngliche Arbeitsblatt kopiert, also dann explizit in das Arbeitsblatt "Hauptkonferenz". Ich habe dies mit dem o.g. Makro einfach im Arbeitsblatt "Abgeschlossen" probiert, aber das funktioniert nicht, denn er kopiert die Zeilen immer zurück in "Hauptkonferenz", auch wenn ich diese z.B. aus "Vorkonferenz" kopiert habe. Also im Endeffekt müsste das vorherige Ursprungsarbeitsblatt erkannt werden. Ist dies überhaupt möglich?
Vielen Dank für die Hilfe.
Grüße
Paul

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

Betreff
Datum
Anwender
Anzeige
AW: Zurückkopieren von Zeilen
23.06.2017 12:09:02
Zeilen
Kann man denn in "Abgeschlossen" erkennen ob es aus "Hauptkonferenz" oder "Vorkonferenz" kommt?
Ansonsten müsste man diese Information irgendwo beim hinverschieben hintelegen (Kommentar, Spalte, Präfix) oder beim Rückverschieben von dir abfragen, was auch immer.
Sonst wird es schwer für Excel das herauszufinden.
Wenn er schon immer die Zeile in "Hauptkonferenz" zurückverschiebt, bist du dem Ziel doch schon verdammt nah.
Poste doch mal diesen Code und eine Antwort zu der Erkennbarkeit des Ursprungsblattes.
AW: Zurückkopieren von Zeilen
23.06.2017 13:27:01
Zeilen
Hallo Chris,
vielen Dank für deine Rückmeldung. Nein, in dem Arbeitsblatt "Abgeschlossen" gibt es keine zusätzliche Spalte, wo man sieht, woher der Eintrag kommt, aber wenn ich jetzt darüber nachdenke, wäre es sogar sinnvoll, so etwas zu implementieren. Z.b., dass dann in Spalte G sieht "Aus Hauptkonferenz". Leider habe ich keine Idee, wie man das umsetzt.
Naja, ich habe den Code einfach banal angepasst und in "Abgeschlossen" kopiert. Dieser sieht so aus:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim loLetzte As Long
Dim loLetzte1 As Long
With Worksheets("Herbsttagung")
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
End With
If Target.Count > 1 Then Exit Sub
If Target.Column = 5 Then
If Target.Row > 1 Then
If Target.Value  "Erledigt" Then
Target.EntireRow.Copy Worksheets("Hauptkonferenz").Rows(loLetzte)
Target.EntireRow.Delete shift:=xlUp
End If
End If
End If
With Worksheets("Hauptkonferenz")
loLetzte1 = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
End With
End Sub
Wenn ich in "Abgeschlossen" das "Erledigt" lösche, dann kopiert er das ja auch in das Arbeitsblatt "Hauptkonferenz". Jedoch entsteht ein Problem, wenn ich etwas aus "Vorkonferenz" als erledigt markiere und er dann nach "Abgeschlossen" kopiert und ich wiederum hier wieder das "Erledigt" entferne, wird er es wieder in Hauptkonferenz kopieren, weil ich auch nicht weiß, wie man angibt, dass er das in das ursprüngliche Blatt kopiert.
Anzeige
Beispielmappe
24.06.2017 17:16:44
Werner
Hallo Paul,
dann lad mal bitte eine Beispielmappe hoch, damit man weiß wie deine Datenstruktur ist.
Gruß Werner
AW: Beispielmappe
27.06.2017 10:35:33
Paul
Hallo Werner,
danke für die Rückmeldung und entschuldige die verspätete Antwort. Hier die Beispielmappe:
https://www.herber.de/bbs/user/114503.xlsm
Wenn ich in dem Arbeitsblatt "Hauptkonferenz" in der Spalte E "Erledigt" auswähle, kopiert er die gesamte Zeile in das Arbeitsblatt "Abgeschlossen", soweit so gut. Wenn ich dann aber in dem Arbeitsblatt "Abgeschlossen" das "Erledigt" wieder lösche, soll er es zurück in das Ursprungsarbeitsblatt verschieben, anstatt in das Arbeitsblatt "Herbsttagung".
Vielen Dank für die Hilfe.
Gruß
Paul
Anzeige
AW: Beispielmappe
27.06.2017 11:30:56
Werner
Hallo Paul,
den Code in den Blättern "Hauptkonferenz" und "Herbsttagung" habe ich dahingehend geändert, dass der Name des Blattes, aus dem die Daten nach "Abgeschlossen" übertragen wurden, auch mit nach "Abgeschlossen" übertragen werden.
Den geänderten Code müsstest du dann für weitere Blätter (Frühjahrstagung, Sommertagung ...) ebenfalls in der geänderten Form übernehmen.
Der Code im Blatt "Abgeschlossen" kopiert die Daten ins jeweilige Blatt zurück, aus dem sie auch gekommen sind, sobald in Spalte "Status" die Zelle geleert wird oder wenn im Dropdown "in Bearbeitung" ausgewählt wird.
Bei den zurückgeschriebenen Daten wird das Feld für das Erledigungsdatum sowie das Feld für den Status geleert.
https://www.herber.de/bbs/user/114505.xlsm
Gruß Werner
Anzeige
AW: Beispielmappe
27.06.2017 11:54:50
Paul
Hallo Werner,
es funktioniert super! Vielen Dank für die Hilfe.
Gruß
Paul
Gerne u. Danke für die Rückmeldung. o.w.T.
27.06.2017 12:44:35
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige