Hi liebe Excel Freunde, Ich habe in meiner VBA ein Eingabefeld erstellt, wo die eingegebenen Werte nur positiv sind. Wenn man über Datenüberprüfung das ganze einstellt, überschreibt die VBA trotzdem den Wert, daher benötige ich die passenden Code.
Ich möchte, dass NUR die Zahlen von 0 bis +100 eingegeben werden können.
Danke schon einmal im Voraus und einen schönen Sonntag euch :)
So kann ich das auch einstellen, aber in meiner Excel ist eine VBA mit Button und Macro implementiert. Der Benutzer wählt den Button aus und kann darüber in eine vordefinierte Zelle einen von ihm eingebende Zahl eintragen. Deshalb brauche in den Code für die VBA und nicht den Weg über die Datenüberprüfung.
05.01.2025, 22:57 (Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2025, 23:01 von Gast 123.)
Hallo
schauan hat bereits eine Lösung angeboten, die geht auch im Umkehr Modus. Ohne den Code zu kennen kann man die Lösung von Schauan so einbauen:
Sub Dein Code() If Wert > 0 And Wert < 100 Then 'Hier der Code des Fragers End If End Sub
oder so, im Umkehr Modus mit Exit Sub
Sub Dein Code() If Wert < 0 Or Wert > 100 Then Exit Sub 'Hier der Code des Fragers End Sub
mfg Gast 123 Nachtrag wenn wir den Code kennen kann man ihm auch eine MsgBox mit Hinweis und Wiederholung einbauen Dazu müssten wir den Code aber sehen, für uns ist das ein Klacks. Ihn könnte es ohne gutes VBA Wissen überfordern.
Ich habe euch mal meine Excel Datei angehangen. Ich habe das ganze mit einen Screenshot angehangen. Wenn ein Betrag in das untere Feld eingegeben wird, darf der Betrag nur zwischen 0 und + 100 liegen.
Erklärung.
Niemand soll in ein freies Feld einen negativen Betrag eingeben dürfen. Außer in der "Bezahlt" spalte, dass wird dann aber von mir passwortgeschützt.
wenn Du schon beim change Ereignis was tust, dann musst Du den Inhalt der textbox auch auf "" zurücksetzen. Wenn nach Exit Sub gleich End Sub kommt, na, übelreg mal Also im Prinzip
Code:
If TextBox2 <= 0 Or TextBox2 > 100 Then Eventuell zuerst eine Meldung an den Verursacher: 'MsgBox "Wert nicht im erlaubten Bereich" TextBox2.Text = "" 'End If
Die Übernahme des Eintrages erfolgt beim Button Click. Dort müsstest Du auch eingreifen... Auskommentiert hast Du 'Cells(1, last).Value = TextBox2
Nach meinem Prinzip sollte die Zeile so aussehen:
Code:
If TextBox2 > 0 Or TextBox2 <= 100 Then Cells(1, last).Value = TextBox2
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)