Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
528to532
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
528to532
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Datentyp

Problem mit Datentyp
06.12.2004 17:29:59
Gregor
Hallo
Ich will mit einer InputBox die Variable Wert mit einer Zahl belegen. Mit diesem Wert mache ich eine If Abfrage:
zB: If 200 &gt= Wert Then
Welchen Datentyp muss ich Wert zuordnen, damit ich die If Abfrage mit einer Zahl machen kann (siehe oben) und den Input wiederhole, wenn eine Zeichenfolge eingegeben wird und wenn der Benutzer auf Abbrechen klickt die Prozedur beendet wird. Ich habe es wie folgt probiert, erhalte aber eine Fehlermeldung:
Wiederholen:
'--- Wert definieren
Wert = InputBox(Prompt:="Geben Sie bitte den gewünschten Wert ein" _
& vbNewLine & vbNewLine, _
Title:="Werteingabe", _
Default:=55)
If Wert = 0 Or Not IsNumeric(Wert) Then
If Wert = 0 Then
Exit Sub
Else
MsgBox Prompt:="Bitte wiederholen Sie Ihre Eingabe" _
& vbNewLine & vbNewLine & "(Wert von 1 bis 55)", _
Title:="Fehleingabe"
GoTo Wiederholen
End If
End If
Vielen Dank und Gruss
Gregor

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Datentyp
Volker
Hallo Gregor
wie wär's damit:
Sub Makro1() Dim wert As Integer wert = 0 While wert < 1 And wert < 55 wert = InputBox(Prompt:="Geben Sie bitte einen Wert zwischen 0 und 56 ein" _ & vbNewLine & vbNewLine, _ Title:="Werteingabe", _ Default:=0) Wend End Sub
Gruß
Volker
AW: Problem mit Datentyp
Gregor
Volker
Danke, aber auch mit deiner Lösung gibt es eine Fehlermeldung, wenn ich eine Zeichenfolge eingebe oder wenn ich auf Abbreche klicke.
Ich bin also immer noch auf der Suche nach einer Lösung
Gruss Gregor
AW: Problem mit Datentyp
Ramses
Hallo
das musst du anders machen
Option Explicit

Sub Makro1()
Dim wert As Variant
wert = 0
Do Until wert > 1 And wert < 55
wert = InputBox(Prompt:="Geben Sie bitte einen Wert zwischen 0 und 56 ein" _
& vbNewLine & vbNewLine, _
Title:="Werteingabe", _
Default:=0)
If IsNumeric(wert) Then
Select Case wert
Case 1 To 55
MsgBox "Korrekter Wert"
Exit Sub
End Select
End If
Loop
End Sub

Gruss Rainer
Anzeige
AW: Problem mit Datentyp
Gregor
Sorry, aber vermutlich habe ich mich zu ungenau ausgedrückt oder mein Lösungsversuch schaffte Verwirrung.
Mit einer InputBox muss ein Wert eingegeben werden. Diesen Wert prüfe ich mit einer If Abfrage.
If Wert &gt= 50 Then
GoTo Marke50
End if
If Wert &gt= 40 Then
GoTo Marke40
End if
usw.
Gleichzeitig will ich bei einer Falscheingabe, das heisst bei Eingabe einer Zeichenfolge den Befehl erteilen (MsgBox), die Eingabe als Zahl korrekt zu wiederholen oder beim Klicken auf Abbrechen durch den Benutzer mit Exit Sub die Prozedur beenden.
Vielen Dank und Gruss
Gregor
Anzeige
Das musst du halt sagen....
Ramses
Hallo
das stand ja bisher nirgends

Sub Makro1()
Dim wert As Variant
wert = 0
Do Until wert > 1 And wert < 55
wert = InputBox(Prompt:="Geben Sie bitte einen Wert zwischen 0 und 56 ein" _
& vbNewLine & vbNewLine, _
Title:="Werteingabe", _
Default:=0)
If Wert = "" Then Exit Sub
If IsNumeric(wert) Then
Select Case wert
Case Is >= 50
GoTo Marke50
Case Is >= 40
GoTo Marke40
Case Is >= 30
GoTo Marke30
End Select
End If
Loop
Marke30:
Marke40:
Marke50:
End Sub

Gruss Rainer
Sorry Rainer! nicht aktualisiert ;-)) o.T.
06.12.2004 23:22:51
Josef
Gruß Sepp
AW: Problem mit Datentyp
06.12.2004 23:21:19
Josef
Hallo Gregor!
Versuch's mal damit!

Sub wert_eingeben()
Dim iValue As Integer
Dim strAsk As String
iValue = 55
Do
iValue = Application.InputBox(Prompt:="Geben Sie bitte den gewünschten Wert ein" _
& vbNewLine & vbNewLine, _
Title:="Werteingabe", _
Default:=iValue, Type:=1)
If iValue = 0 Then Exit Sub 'Abbrechen gedrückt
If iValue > 0 And iValue < 56 Then
strAsk = MsgBox("Sie haben """ & iValue & """ eingegeben!" & Space(10) & vbLf & _
vbLf & "Wollen sie Fortfahren?", vbYesNoCancel + vbQuestion, "Ihre Eingabe")
If strAsk = vbCancel Then 'Abbrechen gedrückt
Exit Sub
ElseIf strAsk = vbYes Then Exit Do 'Ja gedrückt
End If
' bei Nein wird wieder zur Eingabe aufgefordert
Else
MsgBox "Falscher Wert!"
iValue = 55
End If
Loop
'Auswahl je nach Eingabe
Select Case iValue
Case Is < 10
MsgBox "kleiner 10" 'hier natürlich dein weiterer Code!
Case Is < 20
MsgBox "kleiner 20"
Case Is < 30
MsgBox "kleiner 30"
Case Is < 40
MsgBox "kleiner 40"
Case Is < 50
MsgBox "kleiner 50"
Case Else
MsgBox "über 50"
End Select
End Sub

Gruß Sepp
Anzeige
AW: Problem mit Datentyp
Gregor
Sepp und Rainer
Das ist ja perfekt, vielen Dank für eure Unterstützung. Die Lösung von Sepp hat wirklich alle Eventualitäten eingebaut.
Besten Dank und Gruss
Gregor

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige