VBA-Makro abbrechen, wenn InputBox leer

  • Hallo


    In der Foren-Übersicht habe ich gesehen, dass man Fragen zu VBA im Forum "Microsoft Produkte" posten soll. Dieses Forum habe ich aber nicht gefunden. Ich hoffe, ich bin nun hier richtig... :oops:
    Für ein Makro benötige ich die Eingabe eines Zahlenwertes durch den Benutzer. Das klappt wunderbar. Das Makro läuft, wie ich es mir wünsche.
    Nur ein Detail funzt nicht:
    Gibt der User nix ein oder drückt er auf Abbrechen, kommt "Laufzeitfehler '13': Typen unverträglich".
    Ich hätte aber gerne, dass dann das Makro einfach abbricht, ohne etwas zu machen.
    Um das zu beheben, habe ich folgende If-Bedingung eingefügt. Nun geht gar nichts mehr. Was mache ich falsch?


    Dim AnzZeilen As Integer


    AnzZeilen = InputBox("Wieviele Zeilen hast Du verwendet?", "Eingabe der Zeilenanzahl")


    If AnzZeilen = "" Then
    Exit Sub
    End If


    AnzZeilen = AnzZeilen + 1
    ... und das Makro soll mit dem um 1 erhöhten Wert weiter laufen, falls einer eingegeben wurde...


    Danke für Eure Hilfe


    Gruss
    Aaron

  • Zitat von Aaron


    Dim AnzZeilen As Integer
    AnzZeilen = InputBox("Wieviele Zeilen hast Du verwendet?", "Eingabe der Zeilenanzahl")


    Dein Fehler liegt schon in der ersten Zeile! :D
    Eine Inputbox gibt einen Wert vom Datentyp "String" zurück, wenn du also die Variable 'AnzZeilen' als Integer deklarierst, sind die Typen unverträglich, spätestens beim zuweisen der Werte gibts die Fehlermeldung. Also ändern auf:
    Dim AnzZeilen As String


    Dein Beispielcode funktioniert so schon. Wenn du aber korrekterweise die Datentypen ändern willst/musst, dann wie folgt:


    Dim StrAnzZeilen As String
    Dim IntAnzZeilen As Integer
    StrAnzZeilen = InputBox("Wieviele Zeilen hast Du verwendet?", "Eingabe der Zeilenanzahl")
    If StrAnzZeilen = "" Then
    Exit Sub
    End If
    IntAnzZeilen = CInt(StrAnzZeilen)
    IntAnzZeilen = IntAnzZeilen + 1


    Grüße :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!