Anzeige
Archiv - Navigation
708to712
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
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formatproblem

Formatproblem
16.12.2005 09:09:10
jessica
Hallo
Ich möchte in Zelle B5 nur Werte in den folgenden Formaten eingeben lassen
x
x.x
x.xx
xx
xx.x
xx.x.x
Für das x soll eine Ziffer zwischen 0 und 9 eingesetzt werden.
Es dürf nicht xxx oder xx.xx eingegeben werden. Wie muss ich das format festlegen.
Möchte mit VbA anschließend prüfen ob Werte in einem bestimmten Bereich liegen um entsprechende Aktionen auszuführen.
Lässt sich bei String prüfen ob der Wert z.b. zwischen 10.1 - 10.5 liegt prüfen oder oder kann man nur auf gleichheit der Werte prüfen (d.h. Wert = 10.1).
Danke für eure Hilfe Jessica

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

Betreff
Datum
Anwender
Anzeige
AW: Formatproblem
16.12.2005 10:43:50
IngGi
Hallo Jessica,
über ein Zellenformat läßt sich eine Eingabe nicht beschränken. Auch mit Gültigkeiten kannst du bei deinen Anforderungen nicht arbeiten. Hier muss vielmehr mit VBA geprüft werden, ob die Eingabe korrekt ist. Folgendes Makro prüft innerhalb der Select Case-Anweisung auf die von dir vorgegebenen Formate und anschließend noch auf den Wertebereich 10.1 bis 10.5. Bei falscher Eingabe erscheint eine Messagebox.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim bln As Boolean
If Target.Address = "$B$5" Then
bln = True
Select Case Len(Target)
Case 1, 2
If Not IsNumeric(Target) Then bln = False
Case 3
If Mid(Target, 2, 1) <> "." Or Not IsNumeric(Left(Target, 1)) _
Or Not IsNumeric(Right(Target, 1)) Then bln = False
Case 4
If (Mid(Target, 2, 1) <> "." Or Not IsNumeric(Left(Target, 1)) _
Or Not IsNumeric(Right(Target, 2))) Or _
(Mid(Target, 3, 1) <> "." Or Not IsNumeric(Left(Target, 2)) _
Or Not IsNumeric(Right(Target, 1))) Then bln = False
Case 6
If Mid(Target, 3, 1) <> "." Or Mid(Target, 5, 1) <> "." _
Or Not IsNumeric(Left(Target, 2)) _
Or Not IsNumeric(Mid(Target, 4, 1)) _
Or Not IsNumeric(Right(Target, 1)) Then bln = False
Case Else
bln = False
End Select
If Target < 10.1 Or Target > 10.5 Then bln = False
If bln = False Then MsgBox "Falsche Eingabe in Zelle B5!", vbCritical
End If
End Sub
Gruß Ingolf
Anzeige
AW: Formatproblem
19.12.2005 09:57:29
Jessica
Hallo
Sorry das ich mich erst so spät melde war und bin immer noch krank.
Hab dein Makro ausprobiert.
Leider kann ich keine Zahlen im Format x.xx und xx.x eingeben. Wäre dankbar wenn du mir nochmal helfen würdes.
Was bedeutet der Ausdruck "Target, 2, 1"
Welches Format muss ich für die Zelle Wählen?
Danke für deine hilfe
Jessica
AW: Das kannst du deshalb nicht,...
20.12.2005 00:44:47
Luc:-?
...Jessica,
weil Mid(Target, 2, 1) bzw Mid(Target, 3, 1) gerade das als Falsch erkennen: Target (=Ziel) repräsentiert die gerade geänderte (Eingabe-)Zelle, die Textfkt Mid entspricht weitgehend der xl-Textfkt Teil.
Gruß Luc :-?
Anzeige
AW: Das kannst du deshalb nicht,...
20.12.2005 09:27:33
Jessica
Hallo
Danke für deine Antwort werde noch eine Case-Anweisung reinbringen die das Format zulässt.
Warum bekomm ich aber eine Fehlermeldung, wenn ich Zahlen im Format x.xx oder xx.x eingebe.
Welches Format muss ich für die Zelle wählen. Text?
Tschau Jessica
AW: Dachte, das hätte ich erklärt?!
20.12.2005 15:00:23
Luc:-?
Hallo Jessica,
Die Case-Anweisung bringt nichts, wenn diese Formate schon vorher als Falsch erkannt wdn. Du musst also diese Abfrage aus der Bedingung entfernen, wenn "." an 2. oder 3. Stelle in der Zahl zulässig sein soll. Stimmt's, du weißt nicht wirklich, was das Pgm tut!
Gruß + FFt
Luc :-?
War ab letzten DON dank Software-Konflikten ausgefallen. Hatte aber wohl noch eine Rückfrage von dir offen. Hat sich das inzwischen erledigt?
Anzeige
AW: Dachte, das hätte ich erklärt?!
20.12.2005 17:08:47
Jessica
Müssen uns irgend wie missverstanden haben.
Das ich die Fehlermeldung bekomme wenn ich mit dem Button das Format "x.xx" eigebe ist klar ich wollt nur wissen ob man das irgend wie zulassen kann. (Für x werden keine Zahlen eingesetzt).
Und wenn ich x.xx oder xx.x eingebe (mit Zahlen) hat er mir auch eine Fehlermeldung gebracht. Hab aber den Fehler gefunden ein Or musste durch And ersetzt werden.
Und jetzt funktionierts und ich bin glücklich was diese Problem betrifft.
Das andere Problem von vorher hab ich leider noch nicht gelöst, hab deine Frage versucht so gut es geht zu beantworten.
https://www.herber.de/forum/archiv/708to712/t709389.htm (der alte Link)
Hab auch schon eine neue anfrage gestellt: https://www.herber.de/forum/archiv/708to712/t711080.htm
noch zur erleuterung der Dateiname soll auch gespeichert werden (in Spalte B)
Danke für deine hilfe und hoffe du kannst mir bei meinem anderem Problem auch helfen
Jessica
Anzeige
AW: Alt-neues Makroproblem Vgl u. Speichern
21.12.2005 01:32:25
Luc:-?
Hallo Jessica,
ich meinte eigentlich diesen Thread. Der scheint aber Teil des sog. alten zu sein. Mal sehen, was sich machen lässt. Ist jetzt vor Xmas die Zeit 'n bisschen knapp.
Gruß Luc :-?
AW: Formatproblem
19.12.2005 15:42:58
Jessica
Hallo
Was mir jetzt erst aufgefallen ist.
Ich habe einen Button "löschne", mit dem ich das Eingabeformat in die Zellen eintrage, d.h. Benutzereingabe wird gelöscht und x.xx wird eingetragen. Jetzt bringt er mir aber auch die MsgBox das die Eingabe falsch ist.
Wie bekomme ich es hin das nur überprüft wird, wenn der Benutzer eine eingabe vornimmt die Fehlermeldung kommt und nicht wenn das Makro ausgeführt wird.
Danke für deine Hilfe Jessica
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige