mehrere optionsbutten abfragen - fehler

kartracer

Grünschnabel
hi

hab schon wieder ein problem :mad:

und zwar: hab ich eine Rechnung ich man mit ObtionsButten verändern kann ...

hab den Code auch schon soweit geschrieben jetzt kommt aber immer "Fehler 450" - komme aber nicht hinter das Problem

hier mal der Code wie er bei mir ausschaut vielleicht sieht ja einer den den Fehler :)

Code:
Dim Zahl2 As String
Dim Schiff_Wert As Long
Dim Schiff_Name As String
Dim Map_Wert As Long
Dim Map_Name As String
_____________________________
Public Function schiffe_Rechnen()
  If Option1 Then
      Schiff_Wert = 100: Schiff_Name = "Phönixe"
   ElseIf Option2 Then
      Schiff_Wert = 200: Schiff_Name = "Yamato"
   ElseIf Option3 Then
      Schiff_Wert = 400: Schiff_Name = "Defcom"
   ElseIf Option4 Then
      Schiff_Wert = 6400: Schiff_Name = "Nostromo"
   ElseIf Option5 Then
      Schiff_Wert = 3200: Schiff_Name = "Piranha"
   ElseIf Option6 Then
      Schiff_Wert = 800: Schiff_Name = "Leonov"
   ElseIf Option7 Then
      Schiff_Wert = 1600: Schiff_Name = "Liberator"
   ElseIf Option8 Then
      Schiff_Wert = 25600: Schiff_Name = "Bigboy"
   ElseIf Option9 Then
      Schiff_Wert = 12800: Schiff_Name = "Vengence"
   ElseIf Option10 Then
      Schiff_Wert = 51200: Schiff_Name = "Goliath"
  End If

 'Das hier ist die zweite Auswahl die man treffen muss - is auch in 2 ver schiedenen Frame (das oben und hier unten)
  If Option11 Then
      Map_Wert = 0: Map_Name = NormalMap
   ElseIf Option12 Then
      Map_Wert = 2: Map_Name = BattleMap
  End If
 Zahl2 = FormatNumber(((2 ^ (CInt(Text3.Text) + 1) * 2500) - Text4.Text) _
 / Schiff_Wert + (Schiff_Wert * Map_Wert), 0, vbTrue, vbFalse, vbTrue)
End Function
___________________________
Private Sub Command4_Click()
 On Error GoTo ende2
   Call schiffe_Rechnen
   Label2.Caption = "Du hast '" & Map_Name & "' und das Schiff '" & Schiff_Name & "' gewählt"
   Label4.Caption = Schiff_Name & " bis zum nächsen lvl: " & Zahl2
 On Error GoTo 0
 Exit Sub
 ende2:
End Sub

ach ja und ich weis auch das man normalerweise OptionsButten nur dan verwendet wenn man 3-5 Auswahlmöglichkeiten hat - möchte es dennoch so machen ;)
 
tja das weis ich ja net genau ... auf jedenfall kann ich dir nur sagen, das wenn ich auf den "Berchnen" butten klicken (Command4) macht der mir garnix ...

wenn ich dann die erste Zeile rot markiere (If Option1 then ...) und dan das Programm starte, und F8 drücke spring der mir immer gleich bis nach ganz unten zum Ende von Command4 :(

des is ja mein Problem der bearbeitet erst garnix - nach dem Motto "heut hab ich keinen bock"

hoffe des hilft dir ein bissal mir zu helfen ;)

auf jedenfall schonaml danke :)
 
Tu mal das
Visual Basic:
 On Error GoTo ende2
nach der Private Sub Command4_Click() weg (oder kommentier es mit einem ' aus), du kannst auch dein Projekt mal zum ansehen hochladen. Irgendwo versteckt sich ein Fehler, der wahrscheinlich durch die Fehlerbehandlung aufgefangen wird.


Der Doc!
 
Ich sehe ein
Visual Basic:
On Error Goto 0

Wo ist die Sprungmarke "0"? :suspekt:

Ach ja, und was ist Fehler 450? Bitte Fehlernummer UND Fehlertext angeben! Du kannst nicht erwarten, dass die meisten hier die Fehlernummern auswendig kennen.

Edit: Habs grad gefunden:
Laufzeitfehler "450": Falsche Anzahl von Argumenten oder ungültiger Eigenschaftszuweisung

Die Gurke sitzt in der FormatNumber-Funktion *glaub*
 
Zuletzt bearbeitet:
Das ist jetzt wohl nicht ernst gemeint oder ?

Doch, ist ernst gemeint, da ich in den 12 Jahren, in denen ich in VB code noch nie eine Goto-Anweisung verwendet habe.

Ich verwende "On Error Resume Next" und dann frage ich Err.Number ab, deshalb habe ich keine Ahnung, wie Sprungmarken funktionieren.

[IRONIE]Fazit: Ich habe keine Ahnung, aber davon jede Menge[/IRONIE] :)
 
das komische is ja nur - das ich es aus einem anderen Programm (das auch funktioniert) übernommen hab - bin ein bissal tipp-faul^^

deshalb find ich das ja so komisch :(

hmm...seltsam. Hab gerade die Zeile mit der FormatNumber-Funktion bei mir mit ein paar Testwerten getestet. Lauft sauber. (Btw: Wieso FormatNumber? Wieso nicht einfach Format-Funktion?)

Das einzigste, was ich mir noch vorstellen kann, ist dass Schiff_wert irgendwie 0 ist und du dann ne Division durch 0 bekommst, aber dann müsste Laufzeitfehler 11 kommen

*grübel*

Ansonsten pflichte ich DrSoong bei. Lass mal das On Error Goto Ende2 weg
 
Zurück