VBA ganze zeile kopieren wenn bedingung gegeben ist?
Hallo ihr lieben, habe mal wieder eine frage mit excel vba.
ich möchte gerne mit einem Makro folgendes erreichen: Es gibt 300 Zeilen die Überprüft werden sollen.
wenn in der Spalte B (Verein) der Verein "Irlbach" drin steht, soll die komplette Zeile in das Tabellenblatt "Irlbach" kopiert werden.
die restlichen Vereine ( hier z.B. Grünthal) sollen dann in das Tabellenblatt "Gastverein" eingetragen werden.
Ein Bild auf was sich das Makro beziehen soll habe ich angefügt.
Vielen dank schonmal :)
![Die Eingabetabelle - (Microsoft Excel, VBA)](https://images.gutefrage.net/media/fragen/bilder/vba-ganze-zeile-kopieren-wenn-bedingung-gegeben-ist/0_big.jpg?v=1485603137000)
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.
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
super danke dir :) gibt es auch eine möglichkeit das nur der wert der zelle kopiert wird aber nicht die formel dahinter?