Thomas Ramel
Stammgast
Guten Morgen Maik
OK, ich glaube ich habe verstanden worum es geht - füge mal diese Zelien hier am Anfang des bestehenden Makros ein - ersetze dabei die Variablen-Deklaration komplett durch diese neue hier:
OK, ich glaube ich habe verstanden worum es geht - füge mal diese Zelien hier am Anfang des bestehenden Makros ein - ersetze dabei die Variablen-Deklaration komplett durch diese neue hier:
Code:
On Error GoTo ErrorHandler
Application.EnableEvents = False
Dim ws As Worksheet
Dim rngWert As Range
Dim rngReplace As Range
Dim lngRow As Long
Dim lngAnzahl As Long
Dim lngErsetzen As Long
Dim dblWert As Double
Dim strFormel As String
'Prüfen ob Zahl 7 in Spalte A steht, ansonsten verschieben
If WorksheetFunction.CountIf(Range("A:A"), 7) > 0 Then
'die Zeile mit der Zahl 7 suchen
Set rngWert = Range("A:A").Find(What:=7, _
After:=Range("A1"), _
LookIn:=xlFormulas, _
LookAt:=xlWhole)
'den Wert aus Spalte B auslesen
dblWert = rngWert.Offset(0, 1).Value
'zählen wie oft der Wert aus Spalte B in Spalte B gesamthaft enthalen ist
lngAnzahl = WorksheetFunction.CountIf(Range("B:B"), dblWert) - 1
'Die Anzahl Zeilen duchlaufen und Wert kopieren
If lngAnzahl > 0 Then
Set rngReplace = rngWert.Offset(0, 1)
For lngErsetzen = 1 To lngAnzahl
Set rngReplace = Range("B:B").Find(What:=dblWert, _
After:=rngReplace, _
LookIn:=xlFormulas, _
LookAt:=xlWhole)
rngReplace.Offset(0, 10).Resize(1, 12).Value = _
rngWert.Offset(0, 11).Resize(1, 12).Value
Next lngErsetzen
End If
rngWert.Value = 8
End If