Hi Excel Forum population,
I am writing a simple code in which I want to get some values when a certain condition is met. The problem is that the statements are not met but the procedure is being run. I attach the code:
i = Per
j = 10
ReDim SMTM(1 To Per), ISR(1 To Per), Lim(1 To j), LI(1 To j), LS(1 To j), CF(1 To j), P(1 To j) As Variant
For i = 1 To Per
SRI = 1
While SRI <> SMT(i)
Asim = SMT(i) - SRI
If Round(Asim, 2) <= Round(1.9758, 2) Then
j = 1
LI(j) = 0.2328
LS(j) = 1.9758
CF(j) = 9.52
P(j) = 0.064
Lim(j) = 1
End If
If Round(1.9758, 2) < Round(Asim, 2) < Round(3.4722, 2) Then
j = 2
LI(j) = 1.9758
LS(j) = 3.4722
CF(j) = 247.24
P(j) = 0.1088
Lim(j) = 2
End If
If Round(3.4722,2) < Round(Asim,2) < Round(4.0363,2) Then
j = 3
LI(j) = 3.4722
LS(j) = 4.0363
CF(j) = 247.24
P(j) = 0.1088
Lim(j) = 3
End If
If Round(4.0363, 2) < Round(Asim, 2) < Round(4.8325, 2) Then
j = 4
LI(j) = 4.0363
LS(j) = 4.8325
CF(j) = 786.54
P(j) = 0.1792
Lim(j) = 4
End If
If Round(4.8325,2) < Round(Asim,2) <= Round(9.7466,2) Then
j = 5
LI(j) = 4.8325
LS(j) = 9.7466
CF(j) = 1090.61
P(j) = 0.2136
Lim(j) = 5
End If
If Round(9.7466, 2) < Round(Asim, 2) <= Round(15.3619, 2) Then
j = 6
LI(j) = 9.7466
LS(j) = 15.3619
CF(j) = 3327.42
P(j) = 0.2352
Lim(j) = 6
End If
If (Round(15.3619, 2)) <(Round(Asim, 2)) <=(Round(29.3284, 2)) Then
j = 7
LI(j) = 15.3619
LS(j) = 29.3284
CF(j) = 6141.95
P(j) = 0.3
Lim(j) = 7
End If
If Round(29.3294, 2) < Round(Asim, 2) <= Round(39.1045, 2) Then
j = 8
LI(j) = 29.3294
LS(j) = 39.1045
CF(j) = 15070.9
P(j) = 0.32
Lim(j) = 8
End If
If Round(39.1045, 2) < Round(Asim, 2) <= Round(117.3136, 2) Then
j = 9
LI(j) = 39.1045
LS(j) = 117.3136
CF(j) = 21737.57
P(j) = 0.34
Lim(j) = 9
End If
If Round(Asim, 2) > Round(117.3136, 2) Then
j = 10
LI(j) = 117.3136
LS(j) = 4692544.4849
CF(j) = 78404.57
P(j) = 0.35
Lim(j) = 10
End If
H = (CF(j) + (Asim - LI(j)) * P(j)) / (1 - P(j))
If (H + Asim) > LS(j) Then H = (CF(j + 1) + (Asim - LI(j + 1)) * P(j) / (1 - P(j)))
ISR(i) = H + Asim
If SRI > 2.95 Then
IMSS(i) = (SRI) * (24.501 + 2227.36301 * (PR + 0.0965) + 364.408)
Else
IMSS(i) = (2227.36301 * SRI * (PR + 0.0965) + 434.73216)
End If
actual = ISR(i) + IMSS(i)
If actual < SMTM(i) Then SMTM(i) = actual
SRI = SRI + 0.1
Wend
Next i
Any help will be really grateful.
Thanks!
Bookmarks