Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

InputBox Leer-String --> Integer

InputBox Leer-String --> Integer
David
Hallo zusammen,
manchmal bringt mich VBA wirklich um den letzten Nerv.
Mein Problem kann doch nicht so schwierig sein, allerdings krieg ich's auch nach langem Probieren nicht gebacken.
Ich möchte eine Benutzereingabe per Inputbox für eine Integer-Zahl. Wenn man jetzt aber die Box mit ohne Inhalt bestätigt, bringt der Leerstring einen "Typen-unverträglich-Fehler". Ich war der Meinung, mit CInt klappt die Umwandlung, aber Fehlanzeige.
Mein aktueller Stand:
Dim Zeile As Integer
Zeile = CInt(InputBox("Zeile?"))
Leider falsch - wie geht's richtig?
Danke und Gruß
David

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: InputBox Leer-String --> Integer
05.10.2009 13:28:58
MichaV
Weiss nicht ob das "richtig" ist, aber so gehts auf jeden Fall:
Sub test()
Dim Zeile As Integer
Dim eingabe As String
eingabe = InputBox("Zeile?")
If StrPtr(eingabe) = 0 Then MsgBox "Abbrechen gedrückt": Exit Sub
If Len(eingabe) = 0 Then MsgBox "Leere Eingabe": Exit Sub
If Not IsNumeric(eingabe) Then MsgBox "Keine Zahl": Exit Sub
If Not CInt(eingabe) = eingabe Then MsgBox "Kein Integer": Exit Sub
Zeile = CInt(eingabe)
MsgBox "Eingabe:" & eingabe & vbCrLf & "Zahl:" & Zeile
End Sub
Gruß Micha
AW: InputBox Leer-String --> Integer
05.10.2009 13:41:50
David
Danke für deine Bemühungen, aber ich kann (und will) nicht glauben, dass es nur so "umständlich" geht.
Ist das nicht als 1- oder 2-Zeiler realisierbar?
Gruß
David
Anzeige
AW: InputBox Leer-String --> Integer
05.10.2009 13:51:57
MichaV
..von mir aus auch als Zweizeiler mit eingebauter Taschenrechnerfunktion:
eingabe = Application.InputBox("Zeile?", Type:=1)
If VarType(eingabe) = vbBoolean Then Exit Sub
Gruß- Micha
(ich lass aber mal offen, Du denkst ja an eine andere Lösung)
AW: InputBox Leer-String --> Integer
05.10.2009 14:23:47
David
Danke Micha,
schlußendlich habe ich's doch durch Probieren rausbekommen:
first_line = CInt(0 & InputBox("erste Zeile?"))
ist des Rätsels Lösung.
Gruß
David
AW: InputBox Leer-String --> Integer
05.10.2009 14:29:17
MichaV
..damit machst Du aber aus "nichts" eine Null, das ist zwei verschiedene Schuhe. Und wenn jemand keine Zahl eingibt fliegt der Code trotzdem raus.
Aber wenn Du das im restlichen Code berücksichtigst und das Rausfliegen bei nicht- numerischer Eingabe für Dich okay ist, dann ist das natürlich eine schöne Lösung.
Gruß- Micha
Anzeige
kleine Berichtigung
05.10.2009 14:39:42
MichaV
das kann ich so nicht stehenlassen.
das ist sind zwei verschiedene Paar Schuhe.
AW: InputBox Leer-String --> Integer
05.10.2009 14:39:49
David
Da der Code eigentlich nur für mich selbst ist, sollte das kein Problem sein. Ich wollte halt nur der "Bequemlichkeit" wegen erreichen, dass ich in bestimmten Fällen einfach die Inputbox "durchdrücke".
Mittlerweile habe ich erkannt, dass dafür ein Setzen des "Default"-Wertes wohl die geeignetere Methode ist. ;-)
Gruß
David
***noch offen***
05.10.2009 13:42:28
David
vielleicht mit Application.InputBox
05.10.2009 14:07:00
Tino
Hallo,
der User muss eine Zahl eingeben oder auf Abbrechen drücken.
Dim varZeile
varZeile = Application.InputBox(Prompt:="Zeile()", Type:=1)
If varZeile = False Then
MsgBox "Abbrechen wurde gedrückt"
Else
MsgBox varZeile
End If
Gruß Tino
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige