Ich möchte Daten von einem Tabellenblatt in zwei andere kopieren, wenn eine Bedingung erfüllt ist.
Wenn auf dem Tabellenblatt "Mastertabelle" in der Spalte A "DD" steht, soll auf das Tabellenblatt "DD" kopiert werden,
Wenn auf dem Tabellenblatt "Mastertabelle" in der Spalte A "SI" steht, soll auf das Tabellenblatt "SI" kopiert werden.
Beim einfügen auf dem entsprechenden Tabellenblatt sollen nur die Werte, nicht die Formeln eingefügt werden.
Im Moment habe ich das so gelöst:
Sub DatenKopierenDD()
Dim i%
With Sheets("Mastertabelle")
For i = 6 To 400
If .Cells(i, 1) = "DD" Then
Sheets("Mastertabelle").Range("E6:E400").Copy
Sheets("DD").Range("C41:C150").PasteSpecial Paste:=xlPasteValues
Sheets("Mastertabelle").Range("G6:L400").Copy
Sheets("DD").Range("D41:I150").PasteSpecial Paste:=xlPasteValues
Sheets("Mastertabelle").Range("M6:M400").Copy
Sheets("DD").Range("M41:M150").PasteSpecial Paste:=xlPasteValues
Sheets("Mastertabelle").Range("N6:R400").Copy
Sheets("DD").Range("N41:R150").PasteSpecial Paste:=xlPasteValues
Sheets("Mastertabelle").Range("w6:w400").Copy
Sheets("DD").Range("s41:s150").PasteSpecial Paste:=xlPasteValues
End If
Next i
End With
End Sub
Sub DatenKopierenSI()
Dim i%
With Sheets("Mastertabelle")
For i = 6 To 400
If .Cells(i, 1) = "SI" Then
Sheets("Mastertabelle").Range("E6:E400").Copy
Sheets("SI").Range("C41:C150").PasteSpecial Paste:=xlPasteValues
Sheets("Mastertabelle").Range("G6:L400").Copy
Sheets("si").Range("D41:I150").PasteSpecial Paste:=xlPasteValues
Sheets("Mastertabelle").Range("M6:M400").Copy
Sheets("SI").Range("M41:M150").PasteSpecial Paste:=xlPasteValues
Sheets("Mastertabelle").Range("N6:R400").Copy
Sheets("SI").Range("N41:R150").PasteSpecial Paste:=xlPasteValues
Sheets("Mastertabelle").Range("w6:w400").Copy
Sheets("SI").Range("s41:s150").PasteSpecial Paste:=xlPasteValues
End If
Next i
End With
Das funktioniert auch, ist aber sehr langsam.
Lässt sich das auch eleganter, bzw. schneller lösen?
Vielen Dank schon jetzt für eure Hilfe,
Nicole