Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vierstelle Zahl in Input Box erzwingen

Forumthread: Vierstelle Zahl in Input Box erzwingen

Vierstelle Zahl in Input Box erzwingen
21.03.2017 15:43:14
Georg
Hallo liebe Community
eig. ist die Frage schon im Betreff formuliert:
Wie kann ich eine vierstellige Eingabe einer Zahl in einer Input Box erzwingen?
Vielen Dank.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vierstelle Zahl in Input Box erzwingen
21.03.2017 15:55:08
Michael
Hallo!
Eine Möglichkeit:
Sub b()
Dim a, Check As Boolean
Do Until Check = True
a = Application.InputBox("Eingabe:")
If a = False Then Exit Do
If IsNumeric(a) And Len(a) > 3 Then Check = True
Loop
If a  False Then MsgBox a
End Sub
LG
Michael
Anzeige
Ergänzung... AW: Vierstelle Zahl in Input Box erz
21.03.2017 16:10:06
Michael
...mit etwas mehr Benutzer-Info, wenn die Eingabe nicht stimmt:
Sub ForceInput()
Dim a, b$, c As Boolean
Do Until c = True
a = Application.InputBox(b & vbLf & "Aktueller Wert:", "Eingabe:")
If a = False Then Exit Sub
If IsNumeric(a) Then
If Len(a) > 3 Then
c = True
Else:
b = "[4-stellige Eingabe erforderlich!]" & vbLf
End If
Else:
b = "[Numerische Eingabe erforderlich!]" & vbLf
End If
Loop
MsgBox a, vbInformation, "Die Eingabe lautet..."
End Sub
LG
Michael
Anzeige
AW: Vierstelle Zahl in Input Box erzwingen
21.03.2017 16:00:45
Daniel
Hi
so direkt gar nicht.
du kannst die Eingabe einer Zahl erzwingen, wenn du die Application.Inputbox(..., Type:=1) verwendest.
aber auch hier hast du direkt keinen einfluss auf länge oder Größe der Zahl.
dh du musst das ganze selber programmieren und in einer Schleife die eingabe überprüfen und ggf wiederholen lassen.
dim Zahl as Long
dim Eingabe as string
Do
Eingabe = Inputbox("Vierstellige Zahl")
If Eingabe = "" then
Msgbox " Abbruch"
Exit Sub
elseIf Eingabe like "####" Then
Zahl = Clng(Eingabe)
Exit Do
End If
Msgbox "Bitte eine 4-stellige Zahl eingeben"
Loop
Gruß Daniel
Anzeige
AW: Vierstelle Zahl in Input Box erzwingen
22.03.2017 12:09:58
Georg
An alle Supporters:
Vielen Dank!! alle Lösungen sind prima!
;
Anzeige
Anzeige

Infobox / Tutorial

Vierstellige Zahl in Input Box erzwingen


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass eine vierstellige Zahl in einer Input Box eingegeben wird, kannst Du ein einfaches VBA-Skript verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub ForceInput()
       Dim a, b As String
       Dim c As Boolean
       Do Until c = True
           a = Application.InputBox(b & vbLf & "Aktueller Wert:", "Eingabe:")
           If a = False Then Exit Sub
           If IsNumeric(a) Then
               If Len(a) = 4 Then
                   c = True
               Else
                   b = "[4-stellige Eingabe erforderlich!]" & vbLf
               End If
           Else
               b = "[Numerische Eingabe erforderlich!]" & vbLf
           End If
       Loop
       MsgBox a, vbInformation, "Die Eingabe lautet..."
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro ForceInput aus, um die Eingabeaufforderung zu testen.


Häufige Fehler und Lösungen

  1. Fehler: Eingabe wird nicht akzeptiert.

    • Lösung: Stelle sicher, dass die Länge der Eingabe genau 4 Zeichen beträgt. Der Code prüft dies mit Len(a) = 4.
  2. Fehler: Das Makro funktioniert nicht.

    • Lösung: Überprüfe, ob Makros in Excel aktiviert sind. Du kannst dies unter Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros tun.
  3. Fehler: Eingabe wird als Text erkannt.

    • Lösung: Achte darauf, dass die Eingabe tatsächlich numerisch ist. Der Code verwendet IsNumeric(a) zur Überprüfung.

Alternative Methoden

Es gibt auch andere Möglichkeiten, eine vierstellige Zahl zu erzwingen. Eine davon ist die Verwendung der InputBox mit einer spezifischen Typüberprüfung. Hier ist ein Beispiel:

Dim Zahl As Long
Dim Eingabe As String
Do
    Eingabe = InputBox("Bitte eine vierstellige Zahl eingeben:")
    If Eingabe = "" Then
        MsgBox "Abbruch"
        Exit Sub
    ElseIf Eingabe Like "####" Then
        Zahl = CLng(Eingabe)
        Exit Do
    End If
    MsgBox "Bitte eine 4-stellige Zahl eingeben"
Loop

Diese Methode verwendet die Like-Anweisung, um sicherzustellen, dass die Eingabe dem vierstelligen Format entspricht.


Praktische Beispiele

Hier sind einige nützliche Beispiele, die Dir helfen können, die Eingabe von vierstelligen Zahlen in Excel zu forcieren:

  1. Einfaches Makro zur Eingabe:

    • Verwende das oben gezeigte ForceInput Makro, um die Benutzerfreundlichkeit zu erhöhen.
  2. Erweiterte Eingabeaufforderung mit Fehlerbehandlung:

    • Integriere eine detaillierte Fehlerbehandlung in Dein Makro, um dem Benutzer spezifische Anweisungen zu geben.

Tipps für Profis

  • Verwende benutzerdefinierte Fehlermeldungen: Anpassbare Fehlermeldungen erhöhen die Benutzerfreundlichkeit.
  • Teste Dein Makro regelmäßig: Teste es in verschiedenen Szenarien, um sicherzustellen, dass es wie gewünscht funktioniert.
  • Dokumentiere Deinen Code: Dies ist hilfreich, wenn Du oder jemand anderes den Code später ändern muss.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur Zahlen eingegeben werden? Du kannst die IsNumeric-Funktion verwenden, um sicherzustellen, dass die Eingabe numerisch ist.

2. Was passiert, wenn der Benutzer die Eingabe abbricht? In diesem Fall wird das Makro mit Exit Sub beendet, was eine sichere Handhabung des Abbruchs ermöglicht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige