kleines schulproblem

foxx21

Erfahrenes Mitglied
hallo leute haben in der schule gerade mit vba angefangen und nun folgendes problem der lehrer kommt net drauf und zwar ist das problem beim addieren und zwar addiert er z.b. nicht richtig 2+2 = 4 sonder 2+2=22

warum das??
anbei der kleine liebe nette code


Code:
Public Sub variablenuebung1()
Dim Zahl1, zahl2, ergebnis As Integer
Zahl1 = InputBox("Erste Zahl eingeben")
zahl2 = InputBox("Zweite Zahl")



ergebnis = Zahl1 + zahl2
MsgBox ("Die Summe der Zahlen beträgt: " + Str(ergebnis))


End Sub
 
Das liegt daran, dass Du die beiden Eingaben nicht als Zahlen addierst, sondern als Strings miteinander verbindest. Und dann stimmt das auch: "2" + "2" = "22"

Probier das mal so:
Code:
Public Sub variablenuebung1()
Dim Zahl1, zahl2, ergebnis As Integer
Zahl1 = InputBox("Erste Zahl eingeben")
zahl2 = InputBox("Zweite Zahl")

If IsNumeric(Zahl1) And IsNumeric(zahl2) Then
    ergebnis = CInt(Zahl1) + CInt(zahl2)
End If
MsgBox ("Die Summe der Zahlen beträgt: " + Str(ergebnis))

End Sub

Nebenbei solltest Du auch darauf achten, dass in der Zeile "Dim Zahl1, zahl2, ergebnis As Integer" nur die Variable ergebnis vom Typ Integer ist, die anderen beiden sind Variant-Variablen (können also theoretisch alles mögliche enthalten). Der Übersicht halber solltest Du also alle drei Variablen mit Typen versehen. Das ist hier anders als in C.
 
Zurück