Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1884to1888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Checkbox Fehler

Checkbox Fehler
25.05.2022 20:17:10
SK1988
Schönen guten Abend!
Ich bin gerade an einer Aufgabe ran (seit ca 7 stunden?)
Ich habe einen einfachen Code erstellt, dieser soll beim häckchensetzen eine Provision von 5% errechnen. Beim nicht anklicken soll einfach der Betrag erscheinen.
Das alles als Msgbox, soweit funktioniert alles. Wen kein hacken gesetzt ist und ich Buchstaben oder es "leer" lasse, zeigt es mir an das bitte nur Zahlen eingetragen werden sollen. Hab ich aber das Häckchen drin, und versuche das selbe wieder mit Buchstaben und "leer", stürzt es ab mit Laufzeitfehler13 typen unverträglich.
Ich steh kurz davor eine Einsendeaufgabe abzuschicken, aber diese Kleinigkeit hindert mich daran... Ich bin mittlerweile schon verzweifelt.
Hier der Code:
Const Provision As Single = 0.05 ' steht im Allgemein

Private Sub btn_2_Click()
Dim eingabe As Variant
Dim ergebnis As Variant
eingabe = InputBox("Bitte eine Zahl eingeben.")
If Me.chk_box1 = True Then
ergebnis = eingabe * (1 + Provision)
msgbox "Der Wert:" & eingabe & " + 5% Provision lautet: " & Format(ergebnis, "#,##0.00 €"), vbInformation
ElseIf Not IsNumeric(Me.chk_box1 = True) Then
msgbox "Bitte geben sie Nur Zahlen ein!!!", vbCritical
ElseIf IsNumeric(eingabe) Then
msgbox "Der wert ohne Provision beträgt: " & Format(eingabe, "#,##0.00 €"), vbInformation
Else
msgbox "Bitte geben sie Nur Zahlen ein!!!", vbCritical
End If
End Sub
--------
Ich hoffe jemand kann mir weiterhelfen, damit ich das endlich abschicken kann
mfg
Stefan

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox Fehler
25.05.2022 20:25:33
onur
Was glaubst du, was das hier bewirken soll?

ElseIf Not IsNumeric(Me.chk_box1 = True) Then

AW: Checkbox Fehler
25.05.2022 20:28:17
Sk1988
Ich hab damit gehofft, das er erkennt das keine Zahl eingegeben wurde, sondern Buchstaben oder ähnliches. Da er ja nur den Fehler macht wen die Checkbox aktiviert wurden ist.... Den Befehl hab ich auch irgendwo im Internet gefunden, ob er jetzt wirklich funktioniert oder nicht, weiß ich nicht....
AW: Checkbox Fehler
25.05.2022 20:34:41
onur
Hab ich eben vergessen, zu erwähnen: "stürzt es ab mit Laufzeitfehler13 typen unverträglich" ist nur die halbe Miete - wenn du nicht verrätst, WO, bringt die Aussage nicht viel.
Zur Zeile:

ElseIf Not IsNumeric(Me.chk_box1 = True) Then
Me.chk_box1 = True testet, ob Checkbox gesetzt ist und gibt WAHR oder FALSCH aus.
IsNumeric prüft, ob Inhalt der Klammer numerisch ist oder nicht - aber WAHR oder FALSCH können niemals numerisch sein.
Anzeige
AW: Checkbox Fehler
25.05.2022 21:00:35
Sk1988
Also der Fehler wird nur gemacht wen ein Haken gesetzt wurde zum berechnen mit Provision, gebe ich eine Zahl ein ist alles gut, gebe ich aber nichts ein oder buchstaben und bestätige stürzt es direkt ab, geh ich auf debuggen markiert er mir diesen abschnitt
ergebnis = eingabe * (1 + Provision)
In anderen Aufgaben hatte ich dieses Problem nicht, erst seit ich Input und eine Msgbox als Ausgabe nutzen soll
AW: Checkbox Fehler
25.05.2022 21:06:02
onur
Als würde ich mit der Wand reden.....
1) WO GENAU ? (Welche Zeile ? Einfach mal "Debuggen anklicken" und die Zeile wird dir angezeigt.)
2) ELSEIF bedeutet, das das, was dahinter kommt, nur ausgeführt wird, wenn

If Me.chk_box1 = True 
NICHT zutrifft, also die Checkbox NICHT angeklickt ist.
Anzeige
AW: Checkbox Fehler
25.05.2022 21:12:58
Sk1988
1. Der Fehler ist wie oben schon geschrieben

Private Sub btn_2_Click()
Dim eingabe As Variant
Dim ergebnis As Variant
eingabe = InputBox("Bitte eine Zahl eingeben.")
If Me.chk_box1 = True Then
HIER_________ ergebnis = eingabe * (1 + Provision) _______HIER
msgbox "Der Wert:" & eingabe & " + 5% Provision lautet: " & Format(ergebnis, "#,##0.00 €"), vbInformation
ElseIf Not IsNumeric(Me.chk_box1 = True) Then
msgbox "Bitte geben sie Nur Zahlen ein!!!", vbCritical
ElseIf IsNumeric(eingabe) Then
msgbox "Der wert ohne Provision beträgt: " & Format(eingabe, "#,##0.00 €"), vbInformation
Else
msgbox "Bitte geben sie Nur Zahlen ein!!!", vbCritical
End If
End Sub
2. Ja okay das habe ich jetzt verstanden, danke!
Aber wie sag ich ihm jetzt das wen der Haken gesetzt ist, er "leer" oder "buchstaben", einfach mit einer vbcrtical abstößt.
Anzeige
AW: Checkbox Fehler
25.05.2022 21:08:36
GerdL
Moin Stefan,
nimm die andere Inputbox, die keine Buchstaben zur Multiplikation bringt.

Const Provision As Double = 0.05
Private Sub btn_2_Click()
Dim eingabe As Variant
eingabe = Application.InputBox("Bitte eine Zahl eingeben.", , , , , , , Type:=1)
If eingabe = False Then
MsgBox "Bitte geben sie Nur Zahlen ein!!!", vbCritical
ElseIf Me.chk_box1 = True Then
MsgBox "Der Wert:" & eingabe & " + 5% Provision lautet: " & Format(CCur(eingabe) * (1 + Provision), "#,##0.00 €"), vbInformation
ElseIf Me.chk_box1 = False Then
MsgBox "Der wert ohne Provision beträgt: " & Format(CCur(eingabe), "#,##0.00 €"), vbInformation
End If
End Sub
Gruß Gerd
Anzeige
AW: Checkbox Fehler
25.05.2022 21:25:18
Sk1988
Hallo Gerd, das sieht schonmal sehr gut aus!
Jetzt zeigt er mir beim Ausführen eine Meldung an mit:
Sie wollen eine Formel übernehmen, die Ihnen ein Kollege gemailt hat. Aber Excel meint, es gebe ein Problem und bezweifelt gar frech Ihre Absicht, eine Formel einzugeben.
Die Fehlermeldung, die Excel Ihnen entgegenhält, wirkt kurios und wenig hilfreich, wenn Sie versuchen, die Formel aus der Mail in Ihr Excel-Blatt zu kopieren. Im vollen Wortlaut heisst es da: «Mit dieser Formel gibt es ein Problem.» Dann wird ernsthaft Ihre Absicht angezweifelt: «Sie möchten gar keine Formel eingeben?» Und dann folgt die Belehrung: «Wenn das erste Zeichen ein Gleichheitszeichen (=) oder Minuszeichen (-) ist, hält Excel Ihre Eingabe für eine Formel.»
Danach führt er es so aus wie er soll, also mit vbcritical. Nur diese Meldung erscheint immer bevor es zur vbcritical kommt, kann ich das noch irgend wie vermeiden?
mfg Stefan
Anzeige
AW: Checkbox Fehler
25.05.2022 21:41:42
GerdL
Hola,
interessant. Lade bitte mal deine ggf. abgespeckte Datei hoch.
Gruß Gerd
AW: Checkbox Fehler
25.05.2022 22:19:17
GerdL
'Const Provision As Single = 0.05
Const Provision As Double = 0.05
Werfe bitte die obere Codezeile raus. Ansonsten musst du noch schreiben, was man wo eingeben u. klicken muss um die interessante Meldung zur erhalten.
Gruß Gerd
AW: Checkbox Fehler
25.05.2022 22:21:51
Sk1988
Hab ich rausgenommen,
ganz unten im Excel unter dem "Textfeld" steht ein Button mit Aufgabe 7-9 dort drauf, dann ist da die Checkbox mit Provision die aktivieren und dann auf den Button rechnen, wen man nichts eingibt und Bestätigt kommt die Meldung.
Anzeige
AW: Checkbox Fehler
25.05.2022 22:59:06
GerdL
Jetzt weis ich was du meinst. Die ganz normale in Excel integrierte Fehlermeldung, wenn man bei der Application.Inputbox keine Daten eingibt und
OK drückt. Die finden ich in Ordnung. --> Weiter mit Eingabe einer Zahl + OK oder Abbruch.
Du könntest nach

If Eingabe = False Then
Exit Sub
statt der Messagebox programmieren.
Gruß Gerd
AW: Checkbox Fehler
26.05.2022 14:06:50
Sk1988
Hallo Gerd,
Ich hab heute morgen mit mein Dozenten telefoniert der mir ein paar Tipps gegeben hat,
nachdem ich mich nochmal durch meine Hefte gewühlt, und etwas rum gespielt habe. Hab ich es nach paar Stunden geschafft.
Es tut jetzt das was es soll.
Const Provision As Double = 0.05

Private Sub btn_2_Click()
Dim eingabe As Variant
Dim ergebnis As Double
eingabe = InputBox("Bitte eine Zahl eingeben.")
If eingabe = "" Then
msgbox "Bitte geben sie nur Zahlen ein!!!", vbCritical
ElseIf Not IsNumeric(eingabe) = True Then
msgbox "Bitte geben sie nur Zahlen ein!!!", vbCritical
ElseIf Me.chk_box1 = True Then
ergebnis = eingabe
msgbox "Der Wert:" & eingabe & " + 5% Provision lautet: " & Format(ergebnis * (1 + Provision), "#,##0.00 €"), vbInformation
ElseIf Me.chk_box1 = False Then
msgbox "Der wert ohne Provision beträgt: " & Format(eingabe, "#,##0.00 €"), vbInformation
End If
End Sub
Anscheinend hab die Reihenfolge falsch eingetragen, und die variablen als falschen Datentyp festgelegt.
Er hat mich auch nochmal drauf aufmerksam gemacht das Befehle wie " If IsNumeric(Me.chk_box1) =True Then " total falsch sind... :D
Danke nochmal für deine mühe und Hilfe!
Gruß Stefan
Anzeige
AW: Checkbox Fehler
25.05.2022 22:35:30
Sk1988
Ja ist richtig, ich war zu voreilig ohne alles probiert zu haben.... :/

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige