VBA ganze zeile kopieren wenn bedingung gegeben ist?

Die Eingabetabelle  - (Microsoft Excel, VBA)

1 Antwort

Autofilter, Copy&Paste ist vermutlich am schnellsten. Man kann es ggf. auch so lösen:

For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
If Cells(i, 2).Value = "Irlbach" Then
Rows(i).Copy Destination:=Sheets("Tabelle1").Cells(Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
Else: Rows(i).Copy Destination:=Sheets("Tabelle2").Cells(Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End If
Next

Das Makro zum ursprünglichen Tabellenblatt hinterlegen, Tabelle1 und Tabelle2 gegen die richtigen Namen ersetzen.

RigaDone 
Fragesteller
 29.01.2017, 09:51

super danke dir :) gibt es auch eine möglichkeit das nur der wert der zelle kopiert wird aber nicht die formel dahinter?

0
Ninombre  29.01.2017, 19:58
@RigaDone

ich kann es nicht wirklich testen, aber in dieser Richtung

For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
If Cells(i, 2).Value = "Irlbach" Then
Rows(i).Copy
Sheets("Tabelle1").Cells(Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).PasteSpecial Paste:=xlPasteValues
Else: Rows(i).Copy
Sheets("Tabelle2").Cells(Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).PasteSpecial Paste:=xlPasteValues
End If
Next

1