Hallo!
Ich brauche ein Makro, welches prüft, ob in einer gewissen Zelle eine 1 steht und wenn ja, genau 15 Zeilen unter der geprüften Zeile den dort vorhandenen Wert um 1 erhöht. Mein einziges Problem ist noch, dem Makro zu sagen, dass es auch in genau dieser Zelle den neuen Wert schreiben soll. Meine VBA sind erschreckend gering, habe mir diesen Code auch nur zusammengeklaut. Hier ist der Code:
Dim rngZelle As Range, z$, s% As Range
Range(„c7:c16“).Select
For Each rngZelle In Selection
If rngZelle.Value = 1 Then
z = rngZelle.Offset(15, 0)
s = Val(z)
s = s + 1
Range( was muss hier stehen??? ).Select
ActiveCell.FormulaR1C1 = s
End If
Next rngZelle
Danke für eure Hilfe,
claas
Sub Makro1()
Dim rngZelle As Range
Range("c7:c16").Select
For Each rngZelle In Selection
If rngZelle.Value = 1 Then
z = rngZelle.Offset(15, 0)
s = Val(z)
s = s + 1
rngZelle.Offset(15, 0).Value = s
ActiveCell.FormulaR1C1 = s
End If
Next rngZelle
End Sub
Ich brauche ein Makro, welches prüft, ob in einer gewissen
Zelle eine 1 steht und wenn ja, genau 15 Zeilen unter der
geprüften Zeile den dort vorhandenen Wert um 1 erhöht. Mein
einziges Problem ist noch, dem Makro zu sagen, dass es auch in
genau dieser Zelle den neuen Wert schreiben soll. Meine VBA
Hi claas,
Sub Makro1()
Dim rngZelle As Range
For Each rngZelle In Range("c7:c16")
If rngZelle.Value = 1 Then
rngZelle = rngZelle.Offset(15, 0) + 1
rngZelle.Offset(15, 0) = rngZelle
End If
Next rngZelle
End Sub
Gruß
Reinhard