HERBERS Excel-Forum - das Archiv
zeile kopieren wenn zelle bestimmten wert annimmt
Florian

Guten Tag
Ich habe folgendes Problem:
In Tabelle1 können die Zellen der Spalte G die Werte "Ja", "Nein" und "" aufweisen. Sobald eine Zelle den Wert "Ja" annimmt, soll die zur entsprechenden Zelle zugehörige Zeile in die erste freie Zeile in Tabelle2 kopiert werden (Spalte A setzt einen Wert voraus, dass die Zellen in Tabelle1 Spalte G den Wert "Ja" annehmen können).
Formate sollen beim Kopieren keine übernommen werden. Im anschluss an den Kopiervorgang sollte die kopierte Zeile in Tabelle1 gelöscht werden.
Für Hilfe bedanke ich mich bereits im Voraus.
Gruss Florian

AW: zeile kopieren wenn zelle bestimmten wert annimmt
Björn

Hallo,
das ist eigentlich nicht schwer, aber ich brauch noch mehr Infos:
- Wann wird kopiert? (Also alles auf Einmak auf Knopfdruck? Wie und wann wird das ausgelöst).
- Welcher Bereich soll durchsucht werden (also Start und Endzeile in Tabelle 1)
- Wirklich ganze Zeile kopieren, oder vielleicht nur bis zu bestimmter Spalte (wenn rechts daneben leer).
- Beim Löschen kpl. Zellen löschen, oder nur Inhalte
Hast Du schon was versucht? Dann lass uns den Code sehen.
Gruß
Björn B.
AW: zeile kopieren wenn zelle bestimmten wert annimmt
IngGi

Hallo Florian,
versuch's mal so:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
If Target.Columns.Count > 1 Then Exit Sub
If Target.Column <> 7 Then Exit Sub
For Each rng In Target
If rng = "ja" Then
rng.EntireRow.Copy
With Sheets("Tabelle2")
.Range("A" & .Cells(.Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial _
Paste:=xlPasteValues
End With
rng.EntireRow.Delete
End If
Next 'rng
Application.CutCopyMode = False
End Sub
Gruß Ingolf
AW: zeile kopieren wenn zelle bestimmten wert annimmt
Florian

Hallo Ingolf
Besten Dank für deinen Vorschlag. Es funktioniert!
Eine Verständnisfrage
Was geschieht durch:
If Target.Columns.Count > 1 Then Exit Sub
Thanks anyway!
Gruss Florian
AW: zeile kopieren wenn zelle bestimmten wert annimmt
IngGi

Hallo Florian,
das Makro funktioniert auch, wenn du mehrere Zellen in Spalte G gleichzeitig änderst (durch Einfügen einer einspaltigen Kopie). Wenn die Änderung allerdings mehr als eine Spalte umfasst, steigt das Makro mit dieser Zeile aus und es wird nicht kopiert.
Gruß Ingolf
AW: zeile kopieren wenn zelle bestimmten wert annimmt
Florian

Hallo Ingolf
Nocheinmal herzlichen Dank für deine Hilfe.
Gruss Florian
AW: zeile kopieren wenn zelle bestimmten wert annimmt
Florian

Hallo Ingo
Eine Frage habe ich noch:
Gibt es eine Möglichkeit den Code so anzupassen, dass er auch funktioniert, wenn der Wert in Spalte G durch eine Formel entsteht?
Gruss Florian