ich möchte wenn zum beispiel in spalte „F“ etwas eingetragen wird (zB „Ja“) dass dann die Zellen links von A bis E automatisch von „Sheet1“ nach „Sheet2“ kopiert wird.
Außerdem sollen die Zeilen untereinander in Sheet2 aufgelistet werden.
Ich dachte ich könnte das mit einer IF funktion machen aber funktioniert leider nicht weil die Zeilen dann aus Sheet1 gelöscht werden sollen.
Hat jemand eine idee? denn ich kenn mich mit VB nicht besonders aus und die relative makro aufzeichnung reicht nicht aus für dieses problem.
ich möchte wenn zum beispiel in spalte „F“ etwas eingetragen
wird (zB „Ja“) dass dann die Zellen links von A bis E
automatisch von „Sheet1“ nach „Sheet2“ kopiert wird.
Außerdem sollen die Zeilen untereinander in Sheet2 aufgelistet
werden.
Hallo Koko,
Code gehört in das Modul „Tabelle1“:
Option Explicit
'
Private Sub Worksheet\_Change(ByVal Target As Range)
If Intersect(Target, Range("F:F")) Is Nothing Then Exit Sub
If Target.Cells.Count 1 Then Exit Sub
If Target.Value = "Ja" Then
With Worksheets("Tabelle2")
Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Copy \_
Destination:=.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End With
End If
End Sub
Es funktioniert ohne Probleme
Ich war schon kurz vorm verzweifeln weil ich den Code nicht rausbekommen habe aber jetzt versteh ich wie es funktioniert!
Eine Frage hätte ich noch und zwar möchte ich jetzt noch etwas hinzufügen:
Das vorherige bleibt gleich nur kommt jetzt noch hinzu dass ich in spalte F etwas eintrage (z.B. Klasse 1, Klasse 2, Klasse 3) und falls dann Klasse 3 ausgewählt wurde soll die Zeile in Sheet3 kopiert werden.
Hab jetzt versucht dass ich zu dem Code worksheet_change eine weitere IF bedingung hinzufüge. nur ignoriert der das… auch habe ich versucht die Range zu erweitern (auch mit variablen).
Wär super wenn Du mir auch hier weiterhelfen könntest
Das vorherige bleibt gleich nur kommt jetzt noch hinzu dass
ich in spalte F etwas eintrage (z.B. Klasse 1, Klasse 2,
Klasse 3) und falls dann Klasse 3 ausgewählt wurde soll die
Zeile in Sheet3 kopiert werden.
Hab jetzt versucht dass ich zu dem Code worksheet_change eine
weitere IF bedingung hinzufüge. nur ignoriert der das… auch
habe ich versucht die Range zu erweitern (auch mit variablen).
Hallo Koko,
„falls dann Klasse 3 ausgewählt wurde“, wie wärs mit daten—Gültigkeit zum Auswählen?
Probiers mal so, (ungetestet):
Private Sub Worksheet\_Change(ByVal Target As Range)
If Intersect(Target, Range("F:F")) Is Nothing Then Exit Sub
If Target.Cells.Count 1 Then Exit Sub
Select Case Target.Value
Case "Ja"
With Worksheets("Tabelle2")
Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Copy \_
Destination:=.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End With
Case "Klasse 3"
With Worksheets("Tabelle3")
Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Copy \_
Destination:=.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End With
Case Else
'nix
End Select
End Sub