Anzeige
Archiv - Navigation
1692to1696
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

InputBox Error-Handling

InputBox Error-Handling
01.06.2019 16:35:53
Michael
Hallo
Wie fange ich eine fehlende oder falsche Eingabe in einer InputBox ab?
Ich habe eine InputBox in der man eine beliebige Zahl eintragen kann.
Wenn man nun auf Abbrechen klickt, oder, eine 0 oder nichts eingibt und OK klickt, meldet sich der Debugger: Typen unverträglich.
Kann das evtl. an dem angegebenen Drucker liegen, bin zu Hause und hier habe ich den Drucker nicht zur Verfügung.
Mit freundlicher Unterstützung von Onur verwende ich z.Z. folgenden Code
  • 
    Private Sub CommandButton2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As  _
    _
    Single, ByVal y As Single)
    Dim strPrinter As String
    strPrinter = Application.ActivePrinter
    Dim anz As Integer
    anz = 1
    If Button = 2 Then anz = InputBox("Anzahl?")
    Application.ActivePrinter = "Zebra ZM04"
    Sheets("Sticker").PrintOut From:=1, To:=1, Copies:=anz, Collate _
    :=True, IgnorePrintAreas:=False
    Application.ActivePrinter = strPrinter
    End Sub
    

  • Viele Grüße Michael

    5
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    Es gib zwei Arten von Input-Boxen
    01.06.2019 16:47:35
    Input-Boxen
    Moin Michael!
    Es gibt die Inputbox-Funktion (die Du verwendest) und die Application.InputBox-Methode:
    https://docs.microsoft.com/de-de/office/vba/api/excel.application.inputbox
    Letztere hat den Vorteil, dass man mittels Type:=1 nur Zahlen eingeben darf.
    Bei Abbruch gibt diese Methode False zurück.
    Gruß Ralf
    AW: InputBox Error-Handling
    01.06.2019 17:05:28
    Daniel
    naja, das dürfte daran liegen, dass Copies ne Zahl größer 0 benötigt und deine Inputbox zunächst einmal einen Text liefert und das ganze dann scheitert, wenn der zurückgegebene Wert nicht in eine Zahl gewandelt werden kann.
    du solltest da noch ein paar Abfragen einbauen:
    Private Sub CommandButton2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As  _
    _
    _
    Single, ByVal y As Single)
    Dim strPrinter As String
    strPrinter = Application.ActivePrinter
    Dim anz As Integer
    Dim Eingabe As String
    anz = 1
    If Button = 2 Then
    Eingabe = InputBox("Anzahl?")
    If Not IsNumeric(Eingabe) Then Exit Sub
    anz = CInt(Eingabe)
    If anz = 0 Then Exit Sub
    End If
    Application.ActivePrinter = "Zebra ZM04"
    Sheets("Sticker").PrintOut From:=1, To:=1, Copies:=anz, Collate _
    :=True, IgnorePrintAreas:=False
    Application.ActivePrinter = strPrinter
    End Sub
    
    Gruß Daniel
    Anzeige
    AW: InputBox Error-Handling
    01.06.2019 17:25:47
    RPP63
    Warum soviel Code? ;)
    Wenn man meine oben genannte Methode wählt, reicht folgendes:
    Dim anz&
    Dim strPrinter$: strPrinter = Application.ActivePrinter
    If Button = 2 Then
    anz = Application.InputBox("Anzahl?", Type:=1)
    If anz >= 1 Then Sheets("Sticker").PrintOut Copies:=Int(anz), ActivePrinter:="Zebra ZM04"
    End If
    Application.ActivePrinter = strPrinter
    

    AW: InputBox Error-Handling
    02.06.2019 01:26:15
    Michael
    Hallo RPP63 & Daniel
    Danke für eure Unterstützung. Sorry das ich mich erst so spät zurückmelde, ich war unterwegs.
    Werde eure beiden Lösungsvorschläge Montagmorgen ausprobieren. Gegebenenfalls melde ich mich dann noch mal, falls ich schwierigkeiten damit habe.
    Vielen herzlichen Dank und Gruß
    Michael
    Anzeige
    AW: InputBox Error-Handling
    03.06.2019 12:28:06
    Michael
    Hallo RPP63 & Daniel
    Hier die angekündigte Rückmeldung
    @Daniel: Habe deinen Code ausprobiert, er funktioniert gut.
    @RPP63: Habe auch deinen Code ausprobiert. Habe aber damit Probleme. Es gibt scheinbar keine Anweisung für die linke Maustaste. (Es ist ja eine MouseUp Anweisung) Linke Maustaste = 1 Ausdruck & Rechte Maustaste = Anzahl Abfrage. "From:=1, To:=1, Collate:=True, IgnorePrintAreas:=False" fehlte in deinem Code. Das habe ich versucht selbst einzufügen. From - To ist wichtig für mich weil ich diesen Code 34x verwende, jedes Mal mit einem anderen Zellbezug. Jede dieser 34 Zellen enthält eine andere Grafik, die auf Selbstklebe Etiketten ausgedruckt wird.
    Vielleicht kannst du dir den Code nochmals anschauen und die Linke Maustaste noch einbauen.
    Vielen Dank nochmals an euch Beide
    Gruß Michael
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige