Sub CopyValues()
Dim LetzteZeile As Long
Dim LetzteSpalte As Long
Dim i As Integer
Dim j As Integer
LetzteZeile = Cells(Rows.Count, 2).End(xlUp).Row 'findet die Letzte Zeile
LetzteSpalte = Cells(42, Columns.Count).End(xlToLeft).Column 'findet die Letzte Spalte
For i = 13 To LetzteZeile 'für Zeile 13 bis zur letzten
For j = 42 To LetzteSpalte 'für Spalte 42 bis zur letzten
If Rows(i).Hidden = False And Tabelle1.Cells(i, 2) = "ABC" Then 'Bedingungen: nur die _
gefilterten Zeilen mit Eintrag OPL18 in Spalte 2
Sheets("Eins").Cells(i, j) = Sheets("Eins").Cells(i - 1, j) 'Wert aus der Zeile drüber _
reinschreiben
End If
Next j
Next i
End Sub
Es wird also von Zeile 13 bis zur letzten und gleichzeitig von spalte 42 bis zur letzten, wenn die 2 Bedingungen erfüllt sind, jeweils die Werte aus der Zeile darüber reingeschrieben. Das funktioniert auch soweit sehr gut. Was ich nun an meinem Makro ändern möchte ist folgendes: Ich möchte, dass der oben gezeigte code nur für spalten gilt bzw. durchgeführt wird, die vorher händisch vom Benutzer markiert worden sind. Ich hoffe das ist soweit verständlich und ihr könnt mir dabei weiterhelfen... Beste Grüße