Hallo Leute, ich habe ein Makro geschrieben das Zahlenfolgen in einer Zelle zensiert, diese Zahlenfolgen sind 4 Stellig.
Nun sind die Jahreszahlen das Problem, wenn im Feld steht
"Herr xyz mit der Pesonalnummer 8293 hat 2009" wird es in
"Herr xyz mit der Personalnummer **** hat **** " zensiert.
Das ist auch der Sinn des Makros, Personalnummern in einer Tabelle zu zensieren, jedoch nicht die Jahreszahlen.
Hier ist das Makro:
________________
Private Function ziffernfolge_zensieren(ByVal xZeile As String) As String
Dim MomentanePositionDesZeigers As Integer
Dim AnzahlZeichenvonXZeile As Integer
Dim AnzahlGefundeneZiffern As Integer
Dim i As Integer ' Laufvariable
Dim AuswertbaresZeichen As String
Dim ZuErsetzenderString As String
Dim ZuErsetzenderStringZeichen As String
ziffernfolge_zensieren = ""
xZeile = xZeile & " "
AnzahlZeichenvonXZeile = Len(xZeile)
For MomentanePositionDesZeigers = 1 To AnzahlZeichenvonXZeile Step 1
AuswertbaresZeichen = Mid(xZeile, MomentanePositionDesZeigers, 1)
If IsNumeric(AuswertbaresZeichen) Then
ZuErsetzenderString = ZuErsetzenderString & AuswertbaresZeichen
ZuErsetzenderStringZeichen = ZuErsetzenderStringZeichen & "*"
Else
If Len(ZuErsetzenderString) = 4 Then
If Not IsNumeric(AuswertbaresZeichen) Then
ziffernfolge_zensieren = Replace(ziffernfolge_zensieren, ZuErsetzenderString, ZuErsetzenderStringZeichen)
ZuErsetzenderString = ""
ZuErsetzenderStringZeichen = ""
Else
ZuErsetzenderString = ZuErsetzenderString & AuswertbaresZeichen
ZuErsetzenderStringZeichen = ZuErsetzenderStringZeichen & "*"
End If
Else
ZuErsetzenderString = ""
ZuErsetzenderStringZeichen = ""
End If
End If
ziffernfolge_zensieren = ziffernfolge_zensieren & AuswertbaresZeichen
Next
ziffernfolge_zensieren = Trim(ziffernfolge_zensieren)
End Function
Private Sub TestaufrufZiffernfolgeerstezen()
Dim Uebergabestring, ergebnisstring As String
Uebergabestring = "57 979977j 3353jkjfsdgjsdfk31.12.2009lgjklsdf3.2.99jgklsdf2011fghgh1.1.11jgkljsdfgkljsdflkgjklsdfjgklsdfjgkl3"
ergebnisstring = ziffernfolge_zensieren(Uebergabestring)
ergebnisstring = ergebnisstring
End Sub
__________
Kann mir einer von euch sagen wo ich was einbauen muss, damit die Zahlen 1990,1991,1992 etc. bis 2020 ausgelassen werden?
Vielen Dank für eure Antworten.
|