Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
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

Abbruchtaste bei Inputbox

Abbruchtaste bei Inputbox
19.12.2016 13:23:17
Lutz
Hallo Excel-Spezialisten,
ich habe ein Problem bei dem mir auch die Online-suche nicht weitergeholfen hat.
Ich frage in einem Programm eine Eingabe per Input-Box ab:
Sub FreierPreis()
Freipreis = CDbl(InputBox("Preis eingeben"))
Call suchpreis
End Sub

Sub suchpreis()
Dim bb
ActiveSheet.Unprotect
bb = [Eingabe!c50] - 1
Cells(bb, 16).Select
Selection = Freipreis
ActiveSheet.Protect
End Sub
Die Eingabe wird dann in eine Zelle über das Makro Suchpreis eingegeben.
Mein Hauptproblem ist die Abbruchtaste der Inputbox - wenn man auf die klickt kommt der Fehlercode: Laufzeitfehler 13 - Typen unverträglich.
Was muss ich tun damit bei Abbruch einfach ohne Eingabe abgebrochen wird?
Weiß jemand Rat?
Vielen Dank und viele Grüße Lutz

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abbruchtaste bei Inputbox
19.12.2016 13:41:56
Luschi
Hallo Lutz,
benutze diese Variante von 'InputBox':

Sub FreierPreis()
Dim FreiPreis As Variant
'https://msdn.microsoft.com/de-de/library/office/ff839468(v=office.15).aspx
FreiPreis = Application.InputBox("Preis eingeben", , , , , , , 1)
'https://msdn.microsoft.com/de-de/library/office/gg278470(v=office.15).aspx
If VarType(FreiPreis) = 5 Then
Call suchpreis
End If
End Sub
Die letzte '1' in der Klammer sorgt dafür, daß der User nur gültige Zahlenwerte mit der OK-Taste abschließen kann. Bei Buchstaben und dem Punkt kommt eine interne Fehlermeldung und die Eingabe muß korrigiert werden. Bei Abbruch ergibt 'VarType(FreiPreis)' den Wert 11 und die nachfolgende If-Abfrage sorgt dafür, das 'SuchPreis' nicht ausgeführt wird.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Abbruchtaste bei Inputbox
19.12.2016 13:54:22
Lutz
Hallo Luschi,
vielen lieben Dank für die Hilfe!!
Volltreffer - das funktioniert zu 100%.
Ich wünsche Dir schöne Weihnachtstage und ein glückliches Neues Jahr!
Viele Grüße Lutz
AW: Abbruchtaste bei Inputbox
19.12.2016 14:09:46
Daniel
Hi
CDBL erzeugt einen Fehlerabbruch, wenn es einen Leerstring oder einen Text umwandeln soll.
Wenn man mit der normalen Inputbox arbeitet, sollte man die Eingabe immer erst in einen Textstring schreiben.
Diesen Textstring überprüft man dann auf Inhalt und wandelt dann erst in eine Zahl:
Dim strFreiPreis as string
strFreiPreis = InputBox("Preis eingeben")
If IsNumeric(strFreiPreis) Then
Freipreis = Cdbl(strFreiPreis)
Call suchpreis
Else
Msgbox "Abbruch oder Texteingabe"
End If

Gruß Daniel
Anzeige
AW: Abbruchtaste bei Inputbox
19.12.2016 14:15:38
Lutz
Hallo Daniel,
vielen lieben Dank für die Erläuterung und den Code!!
Ich wünsche Dir schöne Weihnachtstage und ein glückliches Neues Jahr!
Viele Grüße Lutz
AW: Abbruchtaste bei Inputbox
19.12.2016 14:43:58
Luschi
Hallo Lutz,
Daniel's Variante hat leider einen unschönen Fehler:
- bei Eingabe von 12.8 (Punkt statt Komma)
- ergibt: IsNumeric(strFreiPreis) den Wert True statt False
- und : Cdbl(strFreiPreis) den Wert 128, der dann in Freipreis drinsteht
Gruß von Luschi
aus klein-Paris
AW: Abbruchtaste bei Inputbox
19.12.2016 14:56:21
Lutz
Hallo Luschi,
danke für die Info - ich hatte Deinen Code schon eingebaut und der geht ja.
Nochmals vielen Dank für Deine Mühe
Viele Grüße Lutz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige