2017-10-12 14 views
1

J'ai un problème avec la division par 0 dans ma calculatrice VBA. Comment puis-je l'obtenir pour montrer un MsgBox"U can't divise by 0" quand j'essaie de diviser par 0? Il est mon « = » et le code «/»:Division VBA par

'equals button 
Private Sub Wynik_Click() 'równa się 
    var2 = TextBox1.Value 
    xWynik = Application.Evaluate(var1 & var2) 
    TextBox1.Value = xWynik 
End Sub 

'division 
Private Sub Dziel_click() 
    If var2 = "0" Then 
     MsgBox ("Nie można dzielić przez 0") 
    Else 
     var1 = TextBox1.Value + "/" 
     TextBox1.Value = "" 
    End If 
End Sub 

Répondre

0

Quelque chose comme ceci est un bon contrôle:

Public Sub DivByZero() 
    If var2 = 0 Then 
     MsgBox ("You cannot divide by 0") 
    Else 
     Var1 = textbox1.value/var2 
    End If 

End Sub 

Vous pouvez le faire avec un-receveur d'erreur aussi bien, mais il probablement plus compliquer ce petit exemple:

Public Sub DivByZero() 

    On Error GoTo DivByZero_Error 
    Var1 = textbox1.value/var2 

    On Error GoTo 0 
    Exit Sub 

DivByZero_Error: 

    MsgBox "Division by 0 or another error!" 

End Sub 

Avertissement: Si vous promets que vous ne serez jamais écrire un tel code f ou le transport ou pour l'industrie médicale, utilisez ceci:

If var2 = "0" or len(trim(var2)) = 0 Then 
+0

Le deuxième me donne "" Division par 0 ou une autre erreur! "quand je divise par chaque nombre. D'abord me donne le bogue sur égal "xWynik = Application.Evaluate (var1 & var2)" ici – GoldenRC

+0

@GoldenRC - vérifie tes variables d'entrée. Qu'est-ce que 'var2', qu'est-ce que' Var1', où et comment les déclarez-vous, qu'est-ce que 'textbox1.value'? – Vityata

+0

var1 et var2 sont des variables et textbox1.value est la valeur de l'affichage – GoldenRC