VB Code:
Sub flexvalue()
Dim j As Double
Dim k As Double
Dim iSheet As Worksheet
Dim nsheet As Worksheet
Set iSheet = ActiveWorkbook.Sheets("Input")
Set nsheet = ActiveWorkbook.Sheets("Nedskrivning-7")
For j = 1 To 10
For k = 1 To 25
If nsheet.Cells(k, "A").Value = iSheet.Cells(j, "O").Value Then
nsheet.Range(Cells(k + 1, "A"), Cells(k + 1, "O").End(xlDown)).Select
nsheet.Range("P17").Value = iSheet.Cells(j, "O").Value
nsheet.Range("P18").Value = nsheet.Range("P17").Value - 1
nsheet.Range("P19").Value = nsheet.Range("P18").Value - 1
nsheet.Range("P20").Value = nsheet.Range("P19").Value - 1
nsheet.Range("P21").Value = nsheet.Range("P20").Value - 1
End If
Next k
Next j
Set iSheet = Nothing
Set nsheet = Nothing
End Sub
VB Code:
nsheet.Range("P17").Value = iSheet.Cells(j, "O").Value
nsheet.Range("P18").Value = nsheet.Range("P17").Value - 1
nsheet.Range("P19").Value = nsheet.Range("P18").Value - 1
nsheet.Range("P20").Value = nsheet.Range("P19").Value - 1
nsheet.Range("P21").Value = nsheet.Range("P20").Value - 1
First off, becuase there must be an easier way - and more importantly, I will need to "control" somehow, so if the number is larger than 10, it should state 10 for the largest AND the number can't be lower than 1.