Wie lautet der VBA-Befehl, um in einer markierten Zelle zu prüfen, ob die Zahl in der Zelle 6 Ziffern hat?
Folgender Befehl funktioniert nicht:
IsNumeric(Mid(Zelle, 3, 6)) = False
Besten Dank für die Hilfe
Gruss
Fab
Sub von Reinhard eingefügt, aber es funktioniert noch nicht. Weisst du vielleicht warum? Das
Sub checkt, ob die Identifikationsnummer in der Art AB123456 ist.
Gruss
Fab
Sub tt()
Dim Adresse() As String
ReDim Adresse(1)
anz = 1
For Each Zelle In Selection.Cells
If Left(Zelle, 2) <> "AB" Or Isnumeric(Zelle(3,6)) = False Or Len(Zelle(3,6) = 6 = _ False Then
anz = anz + 1
ReDim Preserve Adresse(anz)
Adresse(anz) = Zelle.Address
End If
Next Zelle
Meldung = "Fehler in "
For n = 2 To UBound(Adresse)
Meldung = Meldung & Adresse(n) & " "
Next n
If Meldung <> "Fehler in " Then MsgBox Meldung, vbCritical
End Sub
Sub tt()
Dim Zelle As Range, Meldung As String
Meldung = "Fehler in"
For Each Zelle In Selection.Cells
If Left(Zelle, 2) <> "AB" Or Not IsNumeric(Mid(Zelle, 3)) Or Len(Zelle) <> 8 Then Meldung = Meldung & " " & Zelle.Address(0, 0)
Next Zelle
If Meldung <> "Fehler in" Then MsgBox Meldung, vbCritical, "Falsche Eingabe"
End Sub
Sub tt()
Dim MsgText As String
Dim Zelle As Range
MsgText = ""
For Each Zelle In Selection.Cells
Debug.Print Left(Zelle, 2)
Debug.Print Right(Zelle, 6)
Debug.Print Len(Zelle)
If Left(Zelle, 2) <> "AB" Or Not IsNumeric(Right(Zelle, 6)) Or Len(Zelle) <> 8 Then
MsgText = MsgText & Zelle.Address & "; " & Zelle.Text & Chr$(13)
End If
Next Zelle
If MsgText = "" Then
MsgBox "Keine Fehler gefunden"
Else
MsgBox "Folgende Fehler gefunden:" & Chr$(13) & MsgText
End If
End Sub
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen