Clever-Excel-Forum

Normale Version: Excel-Tabellenblatt übergreifend- gesamte Zeilen verschieben und ausschneiden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag,

ich habe eine Frage und habe noch nichts Passendes gefunden, was aber bestimmt an mir liegt Smile

Ich arbeite mit Office 2010 und möchte gerne eine Excel-Datei, in der regelmäßig Datensätze dazu getragen werden (offene Angebote), in der Nachbearbeitung einfacher gestalten.

Die Datei hat bspw. ca. 15 Spalten (Bauvorhaben, Angebotsnummer, Angebotssumme, zuständiger Außendienst usw.) Eine Spalte davon „Auftrag Ja/Nein“ wird mit einem „J“ oder einem „N“ gefüllt, je nachdem, ob wir den Auftrag erhalten haben und dann in das Tabellenblatt 2 oder 3 manuell verschoben.

In der Datei gibt es 3 Tabellenblätter
Tabellenblatt 1: Gesamtübersicht
Tabellenblatt2: erhaltene Aufträge
Tabellenblatt 3: nicht erhaltenen Aufträge

Die Bearbeitung sieht also aktuell folgendermaßen aus:

Vor mir liegt der Ausdruck aus besagter Excel-Datei, nach Außendienst XY gefiltert mit den entsprechenden Informationen zu den einzelnen Angeboten.
Ich öffne also die Datei, setzte den Außendienst-Filter und übertrage die Informationen in meine Datei. Zu jedem Angebot fülle ich die Spalte „Auftrag Ja/Nein“ mit einem „J“ oder einem „N“.
Anschließend markiere ich die kompletten Zeilen die mit einem „J“ gekennzeichnet sind einzeln über „Strg“ und kopiere Sie in das Tabellenblatt 2. Zurück in der Gesamtübersicht lösche ich die markierten Zeilen.
Das gleiche wiederhole ich mit den Zeilen, die mit einem „N“ gekennzeichnet sind und verschiebe diese in das Tabellenblatt 3 und lösche in der Gesamtübersicht.

(Ich schneide die gefilterten Zeilen bewusst nicht aus, da ich sonst die leeren Zeilen in der Gesamtübersicht einzeln löschen muss, um nicht die Zellen dazwischen ebenfalls zu löschen)

Nun zu meiner Frage:

Ist es möglich, dass sich durch den Zelleneintrag „J“ oder „N“ in der Spalte „Angebot J/N“ die komplette Zeile automatisch in das jeweilige Tabellenblatt verschiebt, kopiert, ausschneidet o.ä, so dass ich sie im besten Fall anschließend in der Gesamtübersicht auch nicht mehr raus löschen muss?

Ich bedanke mit herzlich im Voraus für etwaige Antworten Smile

Viele Grüße
Rebecca
Hallo Rebecca,

folgender Code kommt in das schon vorhandene VBA-Modul des Tabellenblattes "Gesamtübersicht":

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rngAuftrag As Range
  Set rngAuftrag = Range("H:H") '<< entsprechend ändern!
  If Target.Column = rngAuftrag.Column Then
    Select Case LCase(Target.Cells(1).Value)
      Case "j"
        With Worksheets("erhaltene Aufträge") '<< entsprechend ändern!
          Target.Rows(1).EntireRow.Copy .Cells(.Rows.Count, Target.Column).End(xlUp).Offset(1).EntireRow
          Target.Cells(1).Select
          Target.Rows(1).EntireRow.Delete
        End With
      Case "n"
        With Worksheets("nicht erhaltenen Aufträge") '<< entsprechend ändern!
          Target.Rows(1).EntireRow.Copy .Cells(.Rows.Count, Target.Column).End(xlUp).Offset(1).EntireRow
          Target.Cells(1).Select
          Target.Rows(1).EntireRow.Delete
        End With
    End Select
  End If
End Sub

Gruß Uwe
Hallo Uwe,

das hat wunderbar geklappt, vielen herzlichen Dank Smile

Toll. Einen schönen Tag wünscht

Rebecca