تفضل الكود مشكورا
Dim y1, y2, z, g, L, H
Sub dd()
Rw = 5
Y = Val(InputBox("step"))
clm = Val(InputBox("Column"))
x = Cells(Cells.Rows.Count, clm).End(xlUp).Row
If Cells(Cells.Rows.Count, clm).End(xlUp).Row >= 5 Then
Range(Cells(5, clm), Cells(Cells(Cells.Rows.Count, clm).End(xlUp).Row, clm)).Clear
End If
endr = Cells(Cells.Rows.Count, 1).End(xlUp).Row
g = [B5]
y1 = g - Y
y2 = g + Y
L = g
H = g
For r1 = 5 To endr
d = DateSerial(Mid(Cells(r1, 1), 1, 4), Mid(Cells(r1, 1), 6, 2), Mid(Cells(r1, 1), 9, 2))
d1 = Format(d, "dddd")
d2 = Cells(r1, 1)
d = Cells(r1, 1)
If Cells(r1, 2) < L Then L = Cells(r1, 2)
If Cells(r1, 2) > H Then H = Cells(r1, 2)
1:
If check(Cells(r1, 2)) = 1 Then
Cells(r2 + 5, clm) = "down" & String(z1, "+")
Cells(r2 + 5, clm).AddComment
Cells(r2 + 5, clm).Comment.Visible = False
fom = IIf(IIf(H <> 0, H, hh) < g, "no", IIf(Round((IIf(H <> 0, H, hh) - 100) / Y) = (IIf(H <> 0, H, hh) - 100) / Y, "no", IIf(H <> 0, H, hh)))
Cells(r2 + 5, clm).Comment.Text Text:="Author:" & Chr(10) & "Date : " & d1 & " " & Chr(10) & " " & d2 & "" & Chr(10) & "Highest : " & fom & " " & Chr(10) & ""
If H <> 0 Then hh = H
H = 0
r2 = r2 + 1
g = g - Y
y1 = g - Y
y2 = g + Y
z1 = 0
z2 = 0
If Cells(r1, 2) <= y1 Then
z1 = 1
GoTo 1
End If
ElseIf check(Cells(r1, 2)) = 2 Then
Cells(r2 + 5, clm) = "up" & String(z2, "+")
Cells(r2 + 5, clm).AddComment
Cells(r2 + 5, clm).Comment.Visible = False
fom2 = IIf(IIf(L <> 999999, L, ll) > g, "no", IIf(Round((IIf(L <> 999999, L, ll) - 100) / Y) = (IIf(L <> 999999, L, ll) - 100) / Y, "no", IIf(L <> 999999, L, ll)))
Cells(r2 + 5, clm).Comment.Text Text:="Author:" & Chr(10) & "Date : " & d1 & " " & Chr(10) & " " & d2 & "" & Chr(10) & "Lowest : " & fom2 & " " & Chr(10) & ""
If L <> 999999 Then ll = L
L = 999999
r2 = r2 + 1
g = g + Y
y1 = g - Y
y2 = g + Y
z1 = 0
z2 = 0
If Cells(r1, 2) >= y2 Then
z2 = 1
GoTo 1
End If
End If
Next
End Sub
Function check(x)
If x <= y1 Then
check = 1
ElseIf x >= y2 Then
check = 2
ElseIf x > y1 And x < y2 Then
check = 3
End If
End Function