Supportnet / Forum / Tabellenkalkulation
Zellen unter Bedingung in anderes Arbeitsblatt kopieren
Frage
Hallo Beisammen,
ein Problem, das eigentlich ganz einfach ist - und doch (für mich) schwierig zu lösen:
Es handelt sich um eine Tabelle, aus der ich bestimmte Zeilen in andere Arbeitsblätter (der selben Mappe) kopieren möchte. Die Bedingung dafür steht in der Spalte I: Bei einer "0" soll nichts passieren, bei einer "1" soll die ganze Zeile in ein anderes Arbeitsblatt kopiert werden.
Ich habe es mit WENN-Bedingungen im ziel-Arbeitsblatt probiert, nur bleiben da eine Menge Leerzeilen übrig, die nicht mehr manuell rausgefiltert werden sollen.
Könnt Ihr mir helfen? DANKE im voraus!
P.S.: Eine Automatisierung ist notwendig, weil es weitere Spalten (J-Y) gibt, mit denen ich genauso vorgehen will. In spalte "J" stehen also wieder Nuller und Einsen, und die Einser sollen wieder in ein (drittes) Arbeitsblatt kopiert werden soll. Im besten Falle brauche ich also einen Tipp, wie ich die Zeilen je nach Spalte in die ganzen Arbeitsblätter kopieren lassen kann. DANKE²!
Antwort 1 von fedjo
Hallo Ben-0,
den Code in das Codefenster "Diese Arbeitsmappe Tabelle1" eintragen. Nach dem eintragen einer 1 in einer Zelle der Spalte I wird die ganze Zeile in Tabelle2 übertragen.
Gruß
fedjo
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 9 And Cells(Target.Row, Target.Column) = 1 Then
Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1 & ":IV" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) = _
Sheets(1).Range("A" & Target.Row & ":IV" & Target.Row).Value2
End If
End Sub
den Code in das Codefenster "Diese Arbeitsmappe Tabelle1" eintragen. Nach dem eintragen einer 1 in einer Zelle der Spalte I wird die ganze Zeile in Tabelle2 übertragen.
Gruß
fedjo
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 9 And Cells(Target.Row, Target.Column) = 1 Then
Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1 & ":IV" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) = _
Sheets(1).Range("A" & Target.Row & ":IV" & Target.Row).Value2
End If
End Sub
Antwort 2 von Ben-0
Hi fedjo,
vielen Dank für die prompte Antwort! Leider bin ich ein absoluter VBA-Neuling und konnte zwar den Code entsprechend einfügen, bringe die Sache allerdings nicht zum Laufen...
Habe versucht, "1"en neu einzutragen oder Makros laufen zu lassen, bin aber noch nicht auf den Hund gekommen. Könntest Du mir Starthilfe geben?
Danke! Ben
vielen Dank für die prompte Antwort! Leider bin ich ein absoluter VBA-Neuling und konnte zwar den Code entsprechend einfügen, bringe die Sache allerdings nicht zum Laufen...
Habe versucht, "1"en neu einzutragen oder Makros laufen zu lassen, bin aber noch nicht auf den Hund gekommen. Könntest Du mir Starthilfe geben?
Danke! Ben
Antwort 3 von fedjo
Antwort 4 von Ben-0
Hi fedjo,
damit kann ich definitiv etwas anfangen!
Danke, Bye
damit kann ich definitiv etwas anfangen!
Danke, Bye
Antwort 5 von Ben-0
Hallo fedjo,
vielen Dank! Ich kann damit etwas anfangen!
Herzliche Grüße, Ben-0
vielen Dank! Ich kann damit etwas anfangen!
Herzliche Grüße, Ben-0
Ich möchte kostenlos eine Frage an die Mitglieder stellen:
Ähnliche Themen:
- Grafiken in ein neues Arbeitsblatt kopieren - beziehen sollen sich die Grafiken auf das neue Arbeitsblatt
- Excel Zellbezug beim Kopieren in anderes Arbeitsblatt
- Excel: Zellen auf bedingung färben
- Excel: Mehrere Zellen in einem Arbeitsblatt mit mehreren Zellen in einem anderen Arbeitsblatt auf einmal verlinken
- Inhalt von Zellen in mehreren Zeilen vergleichen und mit einer Bedingung prüfen

