• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Division by zero

Katılım
29 Şubat 2024
Mesajlar
30
Excel Vers. ve Dili
2023
Merhaba, aslında çalışan kod bir süre sonra N= olarak başlayan satırda "division by zero" hatası vermeye başladı. Bu kod aslında düzgün çalışıyordu, ben başka komut butonları ile çalışırken sonradan bu hata ile karşılaştım. CB6 değerini sıfır görüyor diye düşündüğümden CDbl(CB6.Value) olarak tanımladım fakat çözüm olmadı. Yardım rica ediyorum.

Private Sub CMB1_Click()
Dim Q, P, G, HAG, N, e, S, v As Double
Const Z As Integer = 50
Q = CB1.Value
P = TB1.Value
G = TB2.Value
HAG = TB12.Value
e = CDbl(CB6.Value)
v = CB5.Value
S = (Q * 1) + (P * 1) + (Z * 1) - (G * 1)
TB13.Value = S
S = TB13.Value
N = Replace(Round((Val(TB13) * Val(CB5)) / (102 * Val(CB6)), 2), ".", ",")
TB14.Value = N
End Sub
 
"Division by zero" hatası, bir sayının sıfıra bölünmesi durumunda ortaya çıkar. İşlem yapılan Hücredeki değeri kontrol etmenizde fayda var
 
Cevabınız için teşekkürler. Combobox6'nın aldığı değerler belli. Önceden aldığı gibi değerleri de alıyor sorun yok. Değerlerin hepsi ondalıklı sayı. Hata sıfıra bölünme hatası olduğu için N satırındaki kod ile CB6 değerini sıfıra yuvarlayamaz değil mi? Çünkü yuvarlama işlemini işlem sonucuna yaptırdım. Ayrıca dediğim gibi dün çalışıyordu bu kod.
 
Private Sub CMB1_Click()
Dim Q, P, G, HAG, N, e, S, v As Double
Const Z As Integer = 50
Q = CB1.Value
P = TB1.Value
G = TB2.Value
HAG = TB12.Value
e = CDbl(CB6.Value)
v = CB5.Value
S = (Q * 1) + (P * 1) + (Z * 1) - (G * 1)
TB13.Value = S
S = TB13.Value

If e = 0 Then
MsgBox "CB6 değeri sıfır olduğundan bölme işlemi gerçekleştirilemiyor.", vbCritical
Exit Sub
End If

N = Replace(Round((Val(TB13) * Val(CB5)) / (102 * e), 2), ".", ",")
TB14.Value = N
End Sub

Böyle denermisiniz
 
Geri
Üst