Sub timinmax()
Application.ScreenUpdating = False
Dim arr, i As Long, max As Double, min As Double, lr As Long, dk As Boolean, a As Long
With Sheets("sheet1")
lr = .Range("B" & Rows.Count).End(xlUp).Row
.Range("c2:G" & lr).ClearContents
arr = .Range("B2:G" & lr).Value
arr(1, 6) = arr(1, 1)
For i = 1 To UBound(arr)
arr(i, 4) = arr(1, 1)
arr(i, 2) = Abs(arr(i, 1) - arr(i, 4))
If arr(i, 2) > 1.2 Then
If arr(i, 2) > arr(1, 1) Then
dk = False
min = arr(i, 1)
Else
dk = True
max = arr(i, 1)
End If
a = i + 1
arr(i, 6) = arr(i, 1)
arr(i, 5) = "True"
Exit For
Else
arr(i, 5) = "FALSE"
End If
Next i
For i = a To UBound(arr)
If dk = True Then
If arr(i, 1) > max Then max = arr(i, 1): arr(i, 6) = max
arr(i, 4) = max
arr(i, 2) = Abs(arr(i, 1) - max)
If arr(i, 2) > 1.2 Then
min = arr(i, 1)
dk = False
arr(i, 5) = "True"
Else
arr(i, 5) = "FALSE"
End If
Else
If arr(i, 1) < min Then min = arr(i, 1): arr(i, 6) = min
arr(i, 3) = min
arr(i, 2) = Abs(arr(i, 1) - min)
If arr(i, 2) > 1.2 Then
max = arr(i, 1)
dk = True
arr(i, 5) = "True"
Else
arr(i, 5) = "FALSE"
End If
End If
Next i
.Range("B2:G" & lr).Value = arr
End With
Application.ScreenUpdating = True
End Sub