Mit VBA Anzahl von Vorkommen zählen

14/01/2009 - 20:34 von Frank Spade | Report spam
Guten Abend,

Ich möchte in einem Dokument prüfen, ob alle Datumsangeben in der Form
TT.MM.JJJJ erfolgt sind. Es gibt ein paar Datumsangaben im Dokument, die
garantiert immer in dem Format sind, aber acht Vorkommen, die ungewiß sind.
Ich weiß, wie viele Datumsangaben im Dokument vorkommen. Gibt es jetzt die
Möglichkeit abzufragen, wie viele gültige Datumsangaben gefunden wurden?
Hier ist mein bisheriger Kode:

Sub FalschesDatum()
'Testen ob Datum korrekt formatiert ist
Selection.Find.ClearFormatting
With Selection.Find
.Text = "<[0-3][0-9].[01][1-9].[1-2][0-9]{3}"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
End With
Selection.Find.Execute
If Not Selection.Find.Found Then
MsgBox ("Bitte das Geburtsdatum dahingehend korrigieren, dass der Form
TT.MM.JJJJ entspricht!")
Stop
End If
End Sub

Oder sollte ich das ganz anders angehen?

Herzlichen Gruß

Frank
 

Lesen sie die antworten

#1 Klaus Linke
14/01/2009 - 22:28 | Warnen spam
Hallo Frank,

Zum Beispiel:

Dim i As Long
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
With Selection.Find
.Text = "<[0-3][0-9].[01][1-9].[1-2][0-9]{3}>"
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
End With
While Selection.Find.Execute
i = i + 1
Selection.Collapse (wdCollapseEnd)
Wend
MsgBox i,vbInformation,"Korrekte Datumsangaben:"

Falls es viele Fundstellen gibt, lohnt es sich eventuell, die Sache mit
Tricks zu beschleunigen:
http://word.mvps.org/FAQs/MacrosVBA...ements.htm

Gruß,
Klaus


"Frank Spade" schrieb im Newsbeitrag
news:
Guten Abend,

Ich möchte in einem Dokument prüfen, ob alle Datumsangeben in der Form
TT.MM.JJJJ erfolgt sind. Es gibt ein paar Datumsangaben im Dokument, die
garantiert immer in dem Format sind, aber acht Vorkommen, die ungewiß
sind.
Ich weiß, wie viele Datumsangaben im Dokument vorkommen. Gibt es jetzt die
Möglichkeit abzufragen, wie viele gültige Datumsangaben gefunden wurden?
Hier ist mein bisheriger Kode:

Sub FalschesDatum()
'Testen ob Datum korrekt formatiert ist
Selection.Find.ClearFormatting
With Selection.Find
.Text = "<[0-3][0-9].[01][1-9].[1-2][0-9]{3}"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
End With
Selection.Find.Execute
If Not Selection.Find.Found Then
MsgBox ("Bitte das Geburtsdatum dahingehend korrigieren, dass der
Form
TT.MM.JJJJ entspricht!")
Stop
End If
End Sub

Oder sollte ich das ganz anders angehen?

Herzlichen Gruß

Frank


Ähnliche fragen