[VB] Laufzeitfehler 6

Nossi

Captain
Registriert
Okt. 2002
Beiträge
3.893
Ich habe mal versucht einen Promilletester mit Excel zu bauen, da wir in der Schule grade VB haben, allerdings bekomme ich bei der Formel "c = A / (intgewicht * r)"
einen "Laufzeitfehler 6", weis jemand woran das liegt??? Ich habe bereits versucht die Varablen anders zu deklarieren, das funktioniert aber auch nicht.
Hier ist der Code
Code:
Option Explicit
Public intgewicht As Integer
Public intgeschlecht As Integer
Public intProzent As Single
Public intmenge As Integer





Private Sub cmdberechnen_Click()
Dim A As Double
Dim s As Double
Dim rp As Double
Dim c As Double
Dim r As Double

s = 0.79
rp = 0.9
A = intmenge * intProzent * s * rp

If intgeschlecht = 1 Then r = 0.7
If intgeschlecht = 2 Then r = 0.6

c = A / (intgewicht * r)                               [Color="red"]<<<---- Das ist die betreffende Zeile[/Color]
MsgBox (c)



End Sub

Private Sub cmdgewicht_Click()
Dim txtfrage As String

txtfrage = "Bitte Gewicht angeben in Kg !"
intgewicht = InputBox(txtfrage)


End Sub

Private Sub cmdmenge_Click()
Dim txtfrage As String
txtfrage = "Bitte getrunkene Menge in ml angeben !"
intmenge = InputBox(txtfrage)

End Sub

Private Sub cmdprozent_Click()
Dim txtfrage As String
txtfrage = "Bitte angeben wieviel Prozent der Sprit hatte"
intProzent = InputBox(txtfrage)

End Sub

Private Sub cmggeschlecht_Click()
Dim txtfrage As String
txtfrage = "Bitte für Männer 1 und für Frauen 2 drücken"
intgeschlecht = InputBox(txtfrage)

 
Zuletzt bearbeitet:
Hi,

Laufzeitfehler 6 bedeutet, das du versuchst einer Variable einen zu großen wert zuzuweisen.

Bei mir lief es so:
Code:
Option Explicit
Public intgewicht As Integer
Public intgeschlecht As Integer
Public intProzent As Single
Public intmenge As Integer

Private Sub cmdberechnen_Click()
Dim A As Double
Dim s As Double
Dim rp As Double
Dim c As Double
Dim r As Double

s = 0.79
rp = 0.9
A = intmenge * intProzent * s * rp

If intgeschlecht = 1 Then r = 0.7
If intgeschlecht = 2 Then r = 0.6

c = A / (intgewicht * r)                               '<<<---- Das ist die betreffende Zeile
MsgBox (c)
End Sub

Private Sub cmdgewicht_Click()
Dim txtfrage As String
txtfrage = "Bitte Gewicht angeben in Kg !"
intgewicht = InputBox(txtfrage)
End Sub

Private Sub cmdmenge_Click()
Dim txtfrage As String
txtfrage = "Bitte getrunkene Menge in ml angeben !"
intmenge = InputBox(txtfrage)
End Sub

Private Sub cmdprozent_Click()
Dim txtfrage As String
txtfrage = "Bitte angeben wieviel Prozent der Sprit hatte"
intProzent = InputBox(txtfrage)
End Sub

Private Sub cmggeschlecht_Click()
Dim txtfrage As String
txtfrage = "Bitte für Männer 1 und für Frauen 2 drücken"
intgeschlecht = InputBox(txtfrage)
End Sub

Gruß

Toaster

P.S.

Auf welche Sprache ist dein System gestellt
 
Mein System steht auf Deutsch.

Der Fehler tritt bei mir immer noch teilweise auf, aber ich kann ihn nicht gezielt reproduzieren, allerdings ist mir aufgefallen, das er auftritt wenn alles auf 0 steht, was ich nicht wirklich verstehe.

Naja und irgendwo hat die Formel noch nen Fehler, ich hab nach einem Bier 20 Promille *löl*

Das kommt davon, wenn man zu hektisch ist :rolleyes:
 
Hi,

wie soll eine Division durch 0 aussehen, gib das mal in deinen Taschenrechner ein.

Ich würde einfach abfangen, das keiner der Werte 0 sein darf, dann sollte das Problem nicht mehr auftauchen.

Gruß

Toaster
 
hrm also normalerweise bekommt man bei ner division durch 0 ja den fehler "divison durch 0" aber ich bekomm auch laufzeitfehler6
 
Hier hast Du mal eine Tabelle in Excel, ohne VB, anhand dieser kannst Du evtl die Berechnungsfehler lösen.
 
Zurück
Oben