Excel - Automatisch Zeile in neue Tabelle kopieren, wenn Bedinung erfüllt ist?
Hallo!
Ich habe eine Excel-Datei mit Finanzen und möchte, dass von Tabelle 1 (Hauptkonto) die kompletten Zeilen automatisch nach Tabelle 2 übertragen werden, die in Spalte G eine bestimme Zahlenreihe (z.B. 1234) enthalten.
Mit =WENN bin ich da nicht weiter gekommen und habe auch Probleme damit, dass in Tabelle 2 Leerzeilen entstehen, wo ich in Tabelle 1 nicht die gewünschte Zahlenreihe eingesetzt habe (Also Tabelle 2 teilweise erst 15 Zeilen weiter unten wieder einsetzt).
Ich hoffe mir kann jemand helfen!
LG
4 Antworten
Automatisch Zeile in neue Tabelle kopieren
...
automatisch nach Tabelle 2 übertragen werden
"Übertragen" und "Kopieren" geht mit Formeln überhaupt nicht. Formeln können nur Inhalte oder berechnete Inhalte aus andere Zellen anzeigen, aber sie können niemals andere Zellen oder gar die eigene Zelle ändern.
Wenn Du Inhalte von Zellen ändern willst - was bei "Übertragen", "Kopieren" und "Neu eintragen" der Fall ist - musst Du Makros programmieren.
Funktionieren tut es, aber du müsstest das Skript deinen Bedürfnissen anpassen:
Sub Test()
Dim tabelle1 As Long, tabelle12 As Long, index As Long
Dim letzteSpalte As String
letzteSpalte = "C"
tabelle1 = Cells(Rows.Count, "A").End(xlUp).Row
tabelle12 = Sheets("Tabelle2").Cells(Rows.Count, "A").End(xlUp).Row
For index = tabelle1 To 1 Step -1
If Range("A" & index).Value = 30 Then
Range("A" & index & ":" & letzteSpalte & index).Copy Sheets("Tabelle2").Range("A" & tabelle12 + 1)
tabelle12 = Sheets("Tabelle2").Cells(Rows.Count, "A").End(xlUp).Row
End If
Next index
End Sub
Die Tabellen müssen richtig benannt sein, falls es nicht der Fall ist und deine letzte Spalte muss angegeben sein.
Das Skript durchsucht alle Zeilen von Spalte A bis (momentan) C nach Werten und prüft, ob in Spalte A der Wert 30 verfügbar ist. Falls dieser Fall zutrifft, wird die Zeile kopiert.
Makros müssen aktiv sein, sonst funktioniert dieses Skript nicht.
Bei Fragen, fragen :)
Deine Wenn-Bedingung führt nur dann zu einer Übernahme der Daten, wenn die Quellzellen einen Wert enthalten.
Ohne Deine Datei zu kennen kannst Du eine Übernahme per SVerweis - durch eine Hilfsspalte - der Daten erreichen.


Du kannst in Tabelle 2 einen gefilterten Bereich aus Tabelle 1 anzeigen lassen:
=FILTER(Tabelle1!A2:H20;Tabelle1!G2:G20=1234)
Wenn die Zeilen wirklich fest nach Tabelle 2 geschrieben werden sollen (also auch dort bleiben sollen, wenn sie in Tabelle 1 gelöscht werden), geht das nur mit VBA.