Guten Tag,
das Geburtsdatum in einer Word 2003 Tabelle ist mit 250265 für den 25.02.65 eingetragen, gibt es ein Makro
das das Datum korrekt ändert
Danke für Eure Antworten
Guten Tag,
das Geburtsdatum in einer Word 2003 Tabelle ist mit 250265 für den 25.02.65 eingetragen, gibt es ein Makro
das das Datum korrekt ändert
Danke für Eure Antworten
das Geburtsdatum in einer Word 2003 Tabelle ist mit 250265
für den 25.02.65 eingetragen, gibt es ein Makro
das das Datum korrekt ändert
Hallo Walter,
gut möglich.
Vielleicht gibts auch keins, wie soll z.B. ein Makro 11165 deuten?
So oder so, rück mal mehr Informationen raus.
Gruß
Reinhard
Hallo Walter,
wenn das Datum immer aus 6 Ziffern besteht, dann funktioniert die folgende Konversion. Dazu Cursor in Tabellenspalte mit dem Datum positionieren, dann Makro starten.
Dass Makro kannst du in einem Modul deiner Normal.dot speichern.
Gruß
Franz
'Erstellt unter Word 2007
Sub DatumKonversion\_Var01()
Dim objZelle As Cell, objTabelle As Table
Dim Zeile As Long, Spalte As Long
Dim strText As String, strDatum As String
Dim Jahr As Long, Monat As Long, Tag As Long
'Prüfen ob Cursor in Tabelle positioniert ist
If Selection.Information(wdWithInTable) Then
'Tabelle an Cursorposition der Objektvariablen zuweisen
Set objTabelle = Selection.Tables(1)
'Spalten-Nummer der aktuellen Cursorposition ermitteln
Spalte = Selection.Columns(1).Index
For Zeile = 1 To objTabelle.Rows.Count
Set objZelle = objTabelle.Cell(Zeile, Spalte)
'Text in Zelle
strText = objZelle.Range.Text
'Zeichen für Zellenende abtrennen
strText = Mid(strText, 1, Len(strText) - 2)
'Prüfen, ob Text eine Zahl ist
If IsNumeric(strText) And Len(strText) = 6 Then
'Jahr ermitteln - Bedingung bei welchen Jahreszahlen mit 2000 bzw. 1900 \_
gerechent werden soll ggf. anpassen
'Falls sowohl Jahreszahlen von 1900 bis 1909 als auch 2000 bis 2009 \_
vorkommen könne, dann muss ggf. manuell die Jahreszahl korrigiert werden.
Jahr = CLng(Mid(strText, 5, 2))
If Jahr
Du kannst die Konversion natürlich auch nach dem Einfügen in Excel durchführen. Das entsprechende Makro in Excel sieht wie folgt aus.
Sub DatumKonversion()
'wandelt selektierter Spalte Zahlen, deren 5 bzw. 6 Ziffern ein Datum repräsentieren \_
in ein Exceldatum um.
'Zahlen: 10299 = 01.02.1999 \_
110233 = 11.02.1933 \_
221108 = 22.11.2008
Dim objRange As Range, objZelle As Range
Dim strDatum As String
Dim Jahr As Long, Monat As Long, Tag As Long
'Zellen mit Daten in Spalte mit selektierter Zelle als Bereich festlegen
Set objRange = Range(Cells(1, ActiveCell.Column), \_
Cells(Rows.Count, ActiveCell.Column).End(xlUp))
For Each objZelle In objRange
If IsNumeric(objZelle) And (Len(objZelle) = 5 Or Len(objZelle) = 6) Then
strDatum = Format(objZelle.Value, "000000")
'Jahr ermitteln - Bedingung bei welchen Jahreszahlen mit 2000 bzw. 1900 \_
gerechent werden soll ggf. anpassen
'Falls sowohl Jahreszahlen von 1900 bis 1909 als auch 2000 bis 2009 \_
vorkommen könne, dann muss ggf. manuell die Jahreszahl korrigiert werden.
Jahr = CLng(Mid(strDatum, 5, 2))
If Jahr
Nachfrage
Hallo Franz,
woher weißt du daß
10299 = 01.02.1999
gilt, und nicht
10299 = 10.02.1999
Gruß
Reinhard
Hallo Reinhard,
da hast du wohl Franz’ erste Zeile nicht gelesen 
Cheers, Felix
da hast du wohl Franz’ erste Zeile nicht gelesen
Hallo Felix,
habe ich schon, aber ich habe nur Franz weiter unten in seinem Beitrag zitiert.
Und schon klar, uns Dreien ist klar daß das nur per Vba zu lösen ist wenn es immer 6-stellig ist.
Auch ohne Vba in Excel nur dann wenn es immer 6-stellig ist.
Dann sah ich aber den Code von Franz und seine Remarks und fragte nach.
Gruß
Reinhard
Hallo Reinhard,
woher weißt du daß
10299 = 01.02.1999
gilt, und nicht
10299 = 10.02.1999
in der ursprünglichen Frage
das Geburtsdatum in einer Word 2003 Tabelle ist mit 250265 für den 25.02.65 eingetragen,
gibt es ein Makro, dass das Datum korrekt ändert.
ist der Monat mit führender 0 angegeben. Da bin ich zunächst einmal davon ausgegangen, dass das Datum immer mit 6 Ziffern angegeben ist.
Sollte das Datum ohne führende 0, der Monat mit führender 0 angegeben sein, dann kann man die Konversion trotzdem realisieren, indem man bei fünf Ziffern die fehlende führende 0 vor der Bestimmung von Jahr, Monat und Tag einfügt.
Gruß
Franz
strText=Format(
Hallo Franz,
wunderbar, genau das hab ich gesucht.
hat wunderbar funktioniert.
muss mich wirklich mehr mit VBS beschäftigen.
Danke !
LG Walter
Hallo Walter!
mit VBS beschäftigen.
Nur eine kleine Anmerkung von mir. Du wirst dich wohl mit VBA (Visual Basic for Applications) beschäftigen wollen, wenn du in Excel etwas programmieren willst.
mfg
christoph