Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inputbox Eingabe prüfen
03.06.2007 17:27:13
Roger
Hallo Zusammen,
ich habe folgendes Makro:

Sub test()
Dim Eingabe As String
Eingabe = ""
Do Until Eingabe  ""
Eingabe = InputBox("Bitte geben Sie etwas ein:", Eingabe)
If Eingabe  "" Then
If IsDate(Eingabe) Then
Range("A1") = Eingabe
Else
MsgBox ("Falsche Eingabe")
Eingabe = ""
End If
End If
Loop
Range("b2") = "Ende"
End Sub


Das Makro lässt bei der Eingabe nur das Datumformat zu, genau das möchte ich aber ändern:
Einmal darf die Eingabe nur Zeichen enthalten die für einen Dateinamen gültig ist.
Bei einer anderen Eingabe wäre es von Vorteil wenn die eingegebene Zahl nicht grösser ist als 2000.
Wie kann ich dass mit einfachen Mitteln sicherstellen?
Wäre schön wenn mir jemand helfen könnte.
Gruss Roger

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

Betreff
Datum
Anwender
Anzeige
AW: Inputbox Eingabe prüfen
03.06.2007 17:42:00
Hajo_Zi
Hallo Roger,
wonach richtet sich das ob Text oder Zahl (Datum vor dem 22.06.1905)?

AW: Inputbox Eingabe prüfen
03.06.2007 17:57:00
Roger
Hallo Hajo,
wie meinst Du?
Das Makro das ich gezeigt habe dient als Beispiel!
Ich brauche keine Datumsprüfung, sondern zwei andere Prüfungen.
Im ersten Fall sollte nur einen Eingabe zugelassen werden, die später auch für die Dateibezeichnung verwendet werden kann.
Der Name darf also kein / \ * : " > Im zweiten Fall darf nur eine ganze Zahl eingegeben werden die nicht grösser ist als 2000.
Hoffentlich versteht Du nun was ich meine.
Danke aber schon mal für die Antwort.

Anzeige
Eingabe prüfen
03.06.2007 18:04:00
Roger
Ups die Frage ist natürlich noch offen

AW: Inputbox Eingabe prüfen
03.06.2007 17:42:00
Alsatian
If Eingabe Range("A1") = Eingabe
Else
MsgBox ("Falsche Eingabe")
Eingabe = ""
End If
If Instr(Eingabe,".") > 0 Then 'stellt zumindest sicher das *.* im Feld steht
Range("A1") = Eingabe
Else
MsgBox ("Falsche Eingabe")
Eingabe = ""
End If

AW: Inputbox Eingabe prüfen
03.06.2007 18:01:50
Roger
Hallo Alsatian,
danke für Deine Antwort.
Beim ersten Beispiel kann ich aber nach wie vor Text eingeben.
Der Punkt im zweiten muss nicht gefiltert werden weil ich die Endung nachträglich ansetze ;O)
Hast Du noch eine Idee?
Würde mich auf eine Antwort freuen.

Anzeige
AW: Inputbox Eingabe prüfen
03.06.2007 18:20:21
Josef
Hallo Roger,
probier mal.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub dateiname()
Dim strFileName As String

strFileName = Application.InputBox("Dateiname:", "Dateiname", Type:=2)

If Not IsValidFileName(strFileName) Then
    MsgBox "Der Dateiname ist ungültig!"
    Exit Sub
End If

MsgBox strFileName

End Sub

Public Function IsValidFileName(ByVal strName As String) As Boolean
Dim objRegExp As Object

Set objRegExp = CreateObject("vbscript.regexp")

With objRegExp
    .Global = True
    .Pattern = "^[^\/\\:\*\?\|\""""]{1,20}$"
    .IgnoreCase = True
    IsValidFileName = .test(strName)
End With

Set objRegExp = Nothing

End Function


Sub Ganzzahl_kleiner_2000()
Dim intNumber As Integer

intNumber = Application.InputBox("Zahl:", "Zahl", 1, Type:=1)

If intNumber < 0 Or intNumber > 2000 Then
    MsgBox "Zahlungültig!"
    Exit Sub
End If

MsgBox CStr(intNumber)

End Sub

Gruß Sepp

Anzeige
3 Volltreffer
03.06.2007 18:53:00
Roger
Hallo Sepp,
was soll ich sagen?
Alle drei Sachen funktionieren einwandfrei!
Herzlichen Dank, Du hast mir einmal mehr weitergeholfen.
Irgendwann helfe ich vielleicht auch einmal Dir, so in etwa zwanzig Jahren ;O)
Aber eine kleine Frage habe ich noch zu dem Teilmakro Sub Ganzzahl_kleiner_2000()
Ist es hier auch möglich die Eingabe nicht auf den Wert 2000 zu begrenzen, sondern auf 5 stellen?
Du hast den Defaultwert auf 1 gesetzt, wenn ich nichts eingebe kommt eine Fehlermeldung:
Die eingegebene Formel enthält einen Fehler. Ich weiss Du fängst diesen Fall nicht ab, macht das keinen Sinn?
Besten Dank Sepp für Deine Geduld.
Gruss Roger

Anzeige
AW: 3 Volltreffer
03.06.2007 19:22:17
Josef
Hallo Roger,
das könnte man so lösen.
Sub Ganzzahl_mit_max_5_Stellen()
Dim vRet As Variant

vRet = Application.InputBox("Zahl:", "Zahl", 1, Type:=2)

If vRet = "Falsch" Then Exit Sub

If IsNumeric(vRet) Then
    vRet = Clng(vRet)
Else
    Exit Sub
End If

If vRet < 0 Or vRet > 99999 Then
    MsgBox "Zahlungültig!"
    Exit Sub
End If

MsgBox CStr(vRet)

End Sub

Gruß Sepp

Anzeige
Besten Dank Sepp !! (oT)
03.06.2007 19:42:04
Roger
.

21 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige