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

Inputbox Abbrechen mit Exit Sub belegen

Forumthread: Inputbox Abbrechen mit Exit Sub belegen

Inputbox Abbrechen mit Exit Sub belegen
20.03.2008 11:16:51
Larissa
Hallo,
wie kann ich den Abbrechen-Button bei einer Inputbox mit Exit Sub belegen?
Der Code ist:
Workbooks("Rechnung.xls").Sheets("Formulare").Range("X2").Value = InputBox("Bitte Ordernummer eingeben", "Ordernummer")
Auch wenn die Inputbox geschlossen wird oder keine Eingabe erfolgte, sollte Exit Sub gewählt werden.
Vielen Dank für Eure Hilfe.
Lieben Gruß,
Larissa

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Inputbox Abbrechen mit Exit Sub belegen
20.03.2008 11:26:00
Andreas
Hallo Larissa,
versuch's mal so:
Wert = InputBox("Bitte Ordernummer eingeben", "Ordernummer")
If Wert = "" Then
MsgBox "Exit sub"
Exit Sub
Else
ThisWorkbook.Worksheets("Tabelle1").Range("A1").Value = Wert
End If
Grüße
Andreas

AW: Inputbox Abbrechen mit Exit Sub belegen
20.03.2008 11:27:00
Tino
Hallo Larissa,
ich würde es so machen.
Eingabe = InputBox("Bitte Ordernummer eingeben", "Ordernummer")
If Eingabe = "" Then Exit Sub
Workbooks("Rechnung.xls").Sheets("Formulare").Range("X2").Value = Eingabe
Gruß
Tino

Anzeige
Danke - Das klappt super!
20.03.2008 14:40:00
Larissa
Ich habe mich für die Version von Tino entschieden.
Klappt wunderbar. Vielen Dank auch an Andreas und Matthias.
Lieben Gruß,
Larissa

AW: Inputbox Abbrechen mit Exit Sub belegen
Matthias
Hallo

Option Explicit
Sub test()
Dim strg As String
strg = InputBox("Bitte Ordernummer eingeben", "Ordernummer")
If IsEmpty(strg) Then Exit Sub
If IsNumeric(strg) Then
ActiveSheet.Range("A1").Value = strg
End If
End Sub


Gruß Matthias
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Inputbox Abbrechen mit Exit Sub belegen


Schritt-für-Schritt-Anleitung

Um den Abbrechen-Button bei einer Inputbox in Excel VBA mit Exit Sub zu belegen, kannst du folgenden Code verwenden:

Sub EingabeOrdnernummer()
    Dim eingabe As String
    eingabe = InputBox("Bitte Ordernummer eingeben", "Ordernummer")

    If eingabe = "" Then
        Exit Sub ' Hier wird das Skript beendet, wenn die Inputbox abgebrochen wird
    End If

    ThisWorkbook.Worksheets("Formulare").Range("X2").Value = eingabe
End Sub

In diesem Beispiel wird die Ordernummer in die Zelle X2 des Arbeitsblatts "Formulare" geschrieben, es sei denn, die Inputbox wird abgebrochen oder es erfolgt keine Eingabe.


Häufige Fehler und Lösungen

  1. Fehlende Variablenzuweisung

    • Problem: Du hast die Eingabevariable nicht deklariert.
    • Lösung: Stelle sicher, dass du Dim eingabe As String am Anfang deines Codes hinzufügst.
  2. Inputbox gibt leeres Ergebnis zurück

    • Problem: Wenn die Inputbox geschlossen wird, wird ein leerer String zurückgegeben.
    • Lösung: Überprüfe, ob der Wert "" ist, und verwende Exit Sub, um das Skript zu beenden.

Alternative Methoden

Eine alternative Methode, um die Inputbox zu verwenden, ist die Verwendung von IsEmpty oder IsNumeric, um sicherzustellen, dass der Benutzer eine gültige Eingabe macht:

Sub EingabeOrdnernummer()
    Dim ordernummer As String
    ordernummer = InputBox("Bitte Ordernummer eingeben", "Ordernummer")

    If IsEmpty(ordernummer) Then Exit Sub ' Beendet das Skript, wenn die Eingabe leer ist
    If IsNumeric(ordernummer) Then
        ActiveSheet.Range("A1").Value = ordernummer
    End If
End Sub

Hier wird nur dann der Wert in die Zelle geschrieben, wenn die Eingabe eine Zahl ist.


Praktische Beispiele

Hier sind zwei praktische Beispiele, um die Verwendung der VBA Inputbox zu veranschaulichen:

  1. Beispiel mit einfacher Abbruchprüfung:
Sub Beispiel1()
    Dim eingabe As String
    eingabe = InputBox("Bitte Ordernummer eingeben", "Ordernummer")

    If eingabe = "" Then
        MsgBox "Abgebrochen!"
        Exit Sub
    End If

    MsgBox "Eingegebene Ordernummer: " & eingabe
End Sub
  1. Beispiel mit numerischer Validierung:
Sub Beispiel2()
    Dim ordernummer As String
    ordernummer = InputBox("Bitte Ordernummer eingeben", "Ordernummer")

    If IsEmpty(ordernummer) Then
        MsgBox "Abgebrochen!"
        Exit Sub
    ElseIf Not IsNumeric(ordernummer) Then
        MsgBox "Bitte gib eine gültige Nummer ein!"
        Exit Sub
    End If

    ActiveSheet.Range("B1").Value = ordernummer
End Sub

Tipps für Profis

  • Verwende Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler im Code zu vermeiden.
  • Füge eine MsgBox hinzu, um den Benutzer über erfolgreiche Eingaben oder Fehler zu informieren.
  • Überlege, ob du die Inputbox in einer Schleife verwenden möchtest, um mehrere Versuche zuzulassen.

FAQ: Häufige Fragen

1. Wie kann ich die Eingabe in der Inputbox formatieren? Du kannst die Eingabe in der Inputbox nicht direkt formatieren. Du kannst jedoch die Eingabe nach der Erfassung formatieren.

2. Was passiert, wenn die Inputbox abgebrochen wird? Wenn die Inputbox abgebrochen wird, gibt sie einen leeren String zurück. Du kannst dies überprüfen und Exit Sub verwenden, um das Skript zu beenden.

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