online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Dude147 vom 14.01.2020, 16:48 Options

autom.Verschieben von Zeilen in ein anderes Tabellenblatt

Hallo,

ich habe eine Frage in Excel. Wenn jemand die Antwort für das Problem kennt, erklärt es bitte für einen richtigen Laien. Ich kenne mich mit Makros und Programmierungen wirklich gar nicht aus.

Ich möchte, dass bestimmte Zeilen aus Tabelle 1 automatisch in die erste freie Zeile von Tabelle 2 verschoben werden (aktuelle Probleme in erledigte Probleme), wenn man z.B. in Spalte K eine Checkbox abhakt bzw. einfach nur einen Buchstaben wie "j" hinein schreibt (letzteres würde vollkommen reichen).

Dabei soll die Zeile in Tabelle 1 natürlich gelöscht werden, damit dort keine Lücken enstehen.

Vielen Dank für Eure Hilfe


Antwort schreiben

Antwort 1 von Dude147 vom 15.01.2020, 15:25 Options

Hallo,

habe die Antwort auf meine Frage an anderer Stelle gefunden. Ich benutze jetzt diesen Code:
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim Bereich As Range 
Dim lRow, zRow As Long 

lRow = Sheets("Tabelle1").Range("A65536").End(xlUp).Row 
zRow = Sheets("Tabelle2").Range("A65536").End(xlUp).Row + 1 

Set Bereich = Range("E5:E" & lRow) '*** hier eintragen wo das Datum steht 

If Not Intersect(Target, Bereich) Is Nothing Then 
    If IsDate(Target.Value) = True And Target.Value <> "" Then 
     
    With Range("B" & Target.Row & ":E" & Target.Row) '*** hier eintragen was kopiert werden soll 
    .Copy 
     
    Sheets("Tabelle2").Paste Destination:=Sheets("Tabelle2").Range("B" & zRow) 
        If IsNumeric(Sheets("Tabelle2").Range("A" & zRow - 1)) = True Then 
            Sheets("Tabelle2").Range("A" & zRow) = Sheets("Tabelle2").Range("A" & zRow).Offset(-1, 0) + 1 
        Else 
            Sheets("Tabelle2").Range("A" & zRow) = 1 
        End If 
Application.EnableEvents = False 
    .Delete shift:=xlShiftUp 
    Sheets("Tabelle1").Range("A" & lRow).Value = "" 
    End With 
    End If 
End If 

Application.EnableEvents = True 
End Sub 

von der Seite: http://www.digital-inn.de/excel-und-vba/35722-tabellenzeile-automat...

Jetzt kommt bei mir eine neue Frage auf: Falls eine Zeile versehentlich verschoben wird, wie kann man dies dann möglichst einfach rückgängig machen. Dabei stellt sich eine weitere Frage. In Tabelle 1 steht in Spalte A eine laufende Nummer. Wenn die Zeilen in Tabelle 2 verschoben werden, werden sie in die erste freie Zeile verschoben (lfd. Nummern dürfen durcheinander sein). Beim rückgängig machen der Verschiebung (also zurück in Tabelle1) sollte die Zeile aber wieder an der richtigen Stelle eingefügt werden, so dass die lfd. Nummern wieder stimmen.

Vielen Dank für Eure Hilfe

Antworten auch gerne an arndt.breuer[at]gmx.de

Antwort 2 von Dude147 vom 15.01.2020, 15:26 Options

Ups, der Code war ein anderer:
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim Bereich As Range 
Dim lRow, zRow As Long 

lRow = Sheets("Tabelle1").Range("A65536").End(xlUp).Row 
zRow = Sheets("Tabelle2").Range("A65536").End(xlUp).Row + 1 

Set Bereich = Range("E5:E" & lRow) '*** hier eintragen wo das Datum steht 

If Not Intersect(Target, Bereich) Is Nothing Then 
    If IsDate(Target.Value) = True And Target.Value <> "" Then 
     
    With Range("A" & Target.Row & ":E" & Target.Row) '*** hier eintragen was kopiert werden soll 
    .Copy 
     
    Sheets("Tabelle2").Paste Destination:=Sheets("Tabelle2").Range("A" & zRow) 
Application.EnableEvents = False 
    .Delete shift:=xlShiftUp 
    End With 
    End If 
End If 

Application.EnableEvents = True 
End Sub  

Ähnliche Themen

Zeilen, die in Spalte 9 ein X enthalten in anderes Blatt kopieren
AlexP123  07.04.2007 - 148 Hits - 8 Antworten

=BEREICH.VERSCHIEBEN excel
jupp415  26.06.2007 - 228 Hits -

Übertrag von Tabellenblätter in Excel
gast10  06.07.2007 - 71 Hits - 2 Antworten

Excel Datum HEUTE Zeilen übernehmen
heimlichen  03.11.2007 - 107 Hits - 6 Antworten

Diagramm verschieben per code
hansel_H  13.12.2007 - 78 Hits -

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026