317 Aufrufe
Gefragt in Tabellenkalkulation von
Ich habe eine Tabelle.
Ich suche eine Formel, die (wenn ich ein x in die Zeile setze) die komplette Zeile in das
nächste Tabellenblatt kopiert.
Diese Funktion soll flexibel sein. Dh. nehme ich das x wieder raus, soll die Zeile in der
nächsten Seite wieder verschwinden.

Ist das möglich?

4 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

du kannst per Formel nicht eine ganze Zeile in eine Arbeitsmappe kopieren.
Wenn Du z.B. einzelne Zellen aus Tabelle1 in Tabelle2 darstellen willst, wenn z.B. in Spalte E ein x steht, dann kannst du das für einzelne Zellen so machen:

=WENN(Tabelle1!$E1="x";Tabelle1!A1;"")

Die Formel kannst du dann soweit wie benötigt nach rechts und unten ziehen. Wird das x gelöscht, dann wird nichts angezeigt.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo Community ^^

Probier mal!

Gruss Nighty

Einzufügen
Alt+F11/projektexplorer/DeineTabelle
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 3 Then
If UCase(Worksheets(1).Cells(Target.Row, 3)) = "X" Then
Worksheets(1).Rows(Target.Row).Copy
Worksheets(2).Range("A" & Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
Application.CutCopyMode = True
Else
If Worksheets(1).Cells(Target.Row, 3) = "" Then
Worksheets(2).Rows(Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row).Delete Shift:=xlUp
End If
End If
End If
Application.EnableEvents = True
End Sub
0 Punkte
Beantwortet von
Hallo Community ^^

Nach diesem Muster find ich es besser!

Artikelnummer Spalte A und x Spalte C z.b.
Jede Zeile steht somit in Wechselwirkung!

Gruss Nighty
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Suche As Object
Application.EnableEvents = False
If Target.Column = 3 And Target.Row > 1 Then
If UCase(Worksheets(1).Cells(Target.Row, 3)) = "X" Then
Worksheets(1).Rows(Target.Row).Copy
Worksheets(2).Range("A" & Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
Application.CutCopyMode = True
Else
Set Suche = Worksheets(2).Range("A1:A111").Find(Worksheets(1).Cells(Target.Row, 1))
If Not Suche Is Nothing And Worksheets(1).Cells(Target.Row, 3) = "" Then
Worksheets(2).Rows(Suche.Row).Delete Shift:=xlUp
End If
End If
End If
Application.EnableEvents = True
End Sub
0 Punkte
Beantwortet von
Hallo Community ^^

ops .. Korrigiert!

Gruss Nighty

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Suche As Object
Application.EnableEvents = False
If Target.Column = 3 And Target.Row > 1 Then
If UCase(Worksheets(1).Cells(Target.Row, 3)) = "X" Then
Worksheets(1).Rows(Target.Row).Copy
Worksheets(2).Range("A" & Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
Application.CutCopyMode = True
Else
Set Suche = Worksheets(2).Range("A1:A" & Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row).Find(Worksheets(1).Cells(Target.Row, 1))
If Not Suche Is Nothing And Worksheets(1).Cells(Target.Row, 3) = "" Then
Worksheets(2).Rows(Suche.Row).Delete Shift:=xlUp
End If
End If
End If
Application.EnableEvents = True
End Sub
...