Merhaba arkadaşlar,
Bir kod yazdım. C sayısına göre nr değeri hesaplanıyor. Nd değeri hücreden girilen bir sayı ve nr değerine eşit olduğunda döngüden çıkıp c sayısını yazmasını istiyorum.
if nr=nd then
range("I56")=c
exit for
end if
kodu ile döngüden çıkmak istiyorum fakat olmuyor. Yardımcı olur musunuz ? Nr = Nd yi eşit algılamama sebebi acaba virgülden sonraki hassasiyet olabilir mi ?
Teşekkürler
Bir kod yazdım. C sayısına göre nr değeri hesaplanıyor. Nd değeri hücreden girilen bir sayı ve nr değerine eşit olduğunda döngüden çıkıp c sayısını yazmasını istiyorum.
if nr=nd then
range("I56")=c
exit for
end if
kodu ile döngüden çıkmak istiyorum fakat olmuyor. Yardımcı olur musunuz ? Nr = Nd yi eşit algılamama sebebi acaba virgülden sonraki hassasiyet olabilir mi ?
Teşekkürler
Kod:
For c = 123 To 128 Step 0.01
nd = Range("x33")
nr = round(fs2t + fs3 + fs1 + fc, 2)
fs1 = 0
'1.sıra donatı
fc = (c * k1 * bw * 0.85 * fcd) / 1000
a = k1 * c
mc = (fc * (h / 2 - a / 2)) / 1000
If c > y Then
e = ecu * (c - y) / c
If e > eyd Then
fs1 = (As1 * fyd) / 1000
ms1 = (fs1 * (h / 2 - y)) / 1000
Else
fs1 = (As1 * e * Es) / 1000
ms1 = (fs1 * (h / 2 - y)) / 1000
End If
End If
If c < y Then
e = ecu * (c - y) / c
If e > eyd Then
fs1 = -(As1 * fyd) / 1000
ms1 = (fs1 * (h / 2 - y)) / 1000
Else
fs1 = -(As1 * e * Es) / 1000
ms1 = (fs1 * (h / 2 - y)) / 1000
End If
End If
'ara sıra donatısı
fs2(0) = 0
ms2(0) = 0
i10 = 1
y2 = y
fs2t = 0
i11 = 0
i12 = 0
ms2t = 0
Do While i10 < aradonatı + 1
y2 = y2 + Range("j21")
If c > y2 Then
e = ecu * (c - y2) / c
If e > eyd Then
fs2(i10) = (As2 * fyd) / 1000
ms2(i10) = (fs2(i10) * (h / 2 - y2)) / 1000
Else
fs2(i10) = (As2 * e * Es) / 1000
ms2(i10) = (fs2(i10) * (h / 2 - y2)) / 1000
End If
End If
If c < y2 Then
e = -ecu * (c - y2) / c
If e > eyd Then
fs2(i10) = -(As2 * fyd) / 1000
ms2(i10) = (fs2(i10) * (h / 2 - y2)) / 1000
Else
fs2(i10) = -(As2 * e * Es) / 1000
ms2(i10) = fs2(i10) * (h / 2 - y2) / 1000
End If
End If
i10 = i10 + 1
i11 = i11 + 1
fs2t = fs2(i11) + fs2t
ms2t = ms2(i11) + ms2t
Loop
y3 = y2 + Range("J28")
'son sıra donatı
If c > y3 Then
e = ecu * (c - y2) / c
If e > eyd Then
fs3 = (as3 * fyd) / 1000
ms3 = (fs3 * (h / 2 - y3)) / 1000
Else
fs3 = (as3 * e * Es) / 1000
ms3 = (fs3 * (h / 2 - y3)) / 1000
End If
End If
If c < y2 Then
e = -ecu * (c - y3) / c
If e > eyd Then
fs3 = -(as3 * fyd) / 1000
ms3 = (fs3 * (h / 2 - y3)) / 1000
Else
fs3 = -(as3 * e * Es) / 1000
ms3 = (fs3 * (h / 2 - y3)) / 1000
End If
End If
Next c