Hallo Karl-Heinz,
perfekt, ich danke dir. Die Korrektur lasse ich außen vor, das soll der Nutzer selbst vornehmen. Daher benutze ich deinen Code ab Zeile 22 gerne :) Ich wusste garnicht, dass das so einfach geht mit Target.Value Like. Mein Ansatz war folgender, ist allerdings noch Entwurfsfassung, hat aber ganz gut funktioniert, hatte nur noch keine Prüfung der Reihenfolge der einzelnen Zeichen drin: (Bitte nicht lachen, ich bin noch nicht soweit, dass ich schöne Codes schreiben kann, bei mir ist es eher funktionsorientiert :D )
Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Fehler, i As Integer
Dim Zeichen As String
Fehler = 0
If Target.Address = "$A$1" Then
If IsEmpty(Cells(1, 1)) = True Then
GoTo Ende
End If
For i = 1 To Len(Cells(1, 1).Value)
Zeichen = Mid(Cells(1, 1).Value, i, 1)
If Zeichen = "0" Or Zeichen = "1" Or Zeichen = "2" Or Zeichen = "3" Or Zeichen = "4" Or Zeichen = "5" Or Zeichen = "6" Or Zeichen = "7" Or Zeichen = "8" Or Zeichen = "9" Or Zeichen = "-" Or Zeichen = "V" Then
Else: Fehler = Fehler + 1
End If
Next i
If Len(Cells(1, 1).Value) <> 13 Then
Fehler = Fehler + 1
End If
MsgBox Fehler
Ende:
End If
End Sub
Viele Grüße und Danke nochmal, Apollix
|