Seite 1 von 1
Gelöst : Datum aus Text filtern
Verfasst: Mo, 03.08.2009 17:02
von keksi1970
Hi, ich mal wieder.
also folgendes
in einer Varialen X ist ein Text, der ein Datum (1 Datum) beinhaltet.
gibt es irgendeine Idee, wie ich nur dieses Datum herausfiltere, egal an welcher Position sich das Datum befindet und egal, welches Format es hat und egal, wie lang der text ist (englisch/deutsch/sonstiges) ?
Mir fällt grade nix ein . . . .
LG
Andreas
Re: Datum aus Text filtern
Verfasst: Mi, 05.08.2009 08:41
von Hömmelmann
Hallo Keks,
ist dir damit schon geholfen??
sub DatumSuchenInText
dim x as string
dim gefundenesdatum as date
dim y as string
dim z as string
x="Text mit Datum 01.01.2009 und noch was dahinter"
'x="Text mit Datum 2009-01-01 und noch was dahinter"
y=x
do until instr(y," ")=0
z=left(y,instr(y," ")-1)
y=right(y,len(y)-instr(y," "))
if isnumeric(left(z,1)) then
gefundenesdatum=z
msgbox gefundenesdatum
exit sub
end if
loop
end sub
Gruß, Friedhelm
Re: Datum aus Text filtern
Verfasst: Mi, 05.08.2009 16:12
von keksi1970
nun ja,
hier wäre meine Lösung :
Code: Alles auswählen
Sub Main
odoc = THisComponent
oSheet = oDoc.sheets(0)
dim Z_Check as date
testtext = oSHeet.getcellrangebyname("A2").string
z = len(testtext)
If Z > 7 then
for i=1 to (z-7)
If IsDate(mid(testtext,i,10)) then
Z_Check = mid(testtext,i,10)
exit For
ElseIF IsDate(mid(testtext,i,8)) then
Z_Check = mid(testtext,i,8)
exit For
End If
next i
print Z_Check
Else
msgBox " Kein Datum "
End If
End Sub
wobei es nun egal ist, ob die Jahreszahl 2- oder 4-stellig ist und was sonst noch in der Zelle Steht(
BSP: Zellinhalt = "Das 2.Datum kann man ignorieren, nur der 07.12.09ist wichtig". es wird das erste Datum ausgelensen )

auch egal, ob vor dem Datum ein Leerzeichen steht

auch beliebig erweiterbar auf : "texttest:::::07.Dezember 09"
oder auch : "Bla 07 Dez 09blabla"
LG
Andreas
edit : Trotzdem Danke für die Mühe
