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
Gelöst : Datum aus Text filtern
Moderator: Moderatoren
Gelöst : Datum aus Text filtern
Zuletzt geändert von keksi1970 am Mi, 05.08.2009 16:13, insgesamt 1-mal geändert.
-
- ****
- Beiträge: 119
- Registriert: Di, 28.11.2006 19:44
- Wohnort: Meppen
Re: Datum aus Text filtern
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
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
nun ja,
hier wäre meine Lösung :
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
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
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
