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

Immer zurück zur Zelle bis Format OK

Immer zurück zur Zelle bis Format OK
24.05.2009 09:11:35
Matthias
Hallo zusammen
Mit folgendem Code überprüfe ich die Angabe in der Zelle A1:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zeile, Spalte
If Range("Test").Value  "" Then
If Target.Address = Range("Test").Address Then
Zeile = Target.Row
Spalte = Target.Column
Range(Target.Address).Select
If Len(Selection.Value)  8 Or Mid$(Selection.Value, 2, 1) = "." Or Mid$(Selection.Value, 3, _
_
_
1) = "." Then
MsgBox "Eingabe bitte in der Form: TTMMJJJJ."
Else
Range("Test").Select
End If
End If
End If
End Sub


Wenn der User nun das Format nicht eingibt und nach dem OK-Klick keine Lust mehr hat, das Format richtig zu stellen, kann er eine andere Zeile aktivieren oder Enter drücken und Excel überprüft nicht nochmal ob die Eingabe richtig ist, da der User nichts verändert hat. Wie kann ich dem entgegenwirken? Ich möchte, dass der User erst weiterkommt, wenn das Format stimmt.
Ich freue mich auf Unterstützung. Vielen Dank schon jetzt.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
benutz doch .Undo
24.05.2009 09:30:03
Matthias
Hallo Matthias

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("Test").Value  "" Then
If Target.Address = Range("Test").Address Then
If Not IsDate(Target) Then MsgBox "bitte ein gültiges Datum eingeben": Application.Undo
Range("Test").NumberFormat = "DDMMYYYY"
End If
End If
End Sub


Gruß Matthias L.

AW: Immer zurück zur Zelle bis Format OK
24.05.2009 09:43:46
Tino
Hallo,
ich hoffe Deine Frage richtig verstanden zu haben, versuche es mal so.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const strCheckString As String = "[0-3][0-9][0-1][1-2][1-2][0-9][0-9][0-9]"

 Application.EnableEvents = False
  If Not Range("Test").Value Like strCheckString Then
   Range("Test").Select
   MsgBox "Eingabe bitte in der Form: TTMMJJJJ"
  End If
 Application.EnableEvents = True

End Sub


Gruß Tino

Anzeige
AW: Immer zurück zur Zelle bis Format OK
24.05.2009 11:13:32
Matthias
Hallo zusammen
Timo, ich habe deine Version super gut gebrauchen können. Matthias, deine Version kann ich vielleicht für eine andere Formatierung verwenden. Vielen Dank!!
Einen schönen Tag noch,
Matthias
ändere mal den Vergleichsstring...
24.05.2009 11:19:34
Tino
Hallo,
, so ist er besser.
'Datum von 01011900 bis 31122099
Const strCheckString As String = "[0-3][0-9][0|1][0-2][1-2][0|9][0-9][0-9]"
Gruß Tino

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige