Döngüden çıkmak

Katılım
14 Mayıs 2021
Mesajlar
6
Excel Vers. ve Dili
365 TR
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

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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,511
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Bu kontrolü MsgBox üzerinde yapabilirsiniz.

MsgBox nr=nd & VbCr & "nr değeri ; " & nr & VbCr & "nd değeri ; " & nd
 
Katılım
14 Mayıs 2021
Mesajlar
6
Excel Vers. ve Dili
365 TR
Sorun çözüldü teşekkür ederim
 
Üst