Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Verschiede Datumsformate VBA-Excel

Hallo ,

ich benötige mal einen Tipp:
Ich benutze das unten angegebene Macro zum trennen und sortieren von String's.
Nur bei dem derzeitigen Problem komme ich da nicht weiter.
Ich habe in einer Spalte folgende Daten:

Datum:
MM.TT.JJJJ und TT/MM/JJJJ
Ich muss um die Daten weiter verarbeiten zu können, alles in einem Format zur Verfügung haben.
Deshalb hatte ich gedacht über eine if Abfrage zu schauen ob es sich um ein Slash handelt, sollte das der Fall sein wird die Schleife umgangen und nur bei "." wird getrennt.
Soweit so gut :-(,hat aber bisher nicht funktioniert.

Vielleicht weiss jemand ja noch eine einfachere Lösung...




Sub ZellenMitPunktAuseinanderNehmen()
Dim i As Integer

Sheets("Tabelle1").Activate
Range("A1").Select
Do Until ActiveCell.Value = ""
i = InStr(ActiveCell.Value, ".")
ActiveCell.Offset(0, 1).Value = _
Left(ActiveCell.Value, i - 1)
ActiveCell.Offset(1, 0).Select
Loop

End Sub


Antworten zu Verschiede Datumsformate VBA-Excel:

Brings doch einfach ins richtige Format..

pos=InStr(ActiveCell.Value, ".")
If pos>0 then
  monat= left(ActiveCell.Value, 2)
  tag = mid(ActiveCell.Value, pos+1, 2)
  Datum = tag & "/" & monat & "/" & right(ActiveCell.Value, 4)
  ActiveCell.Value = Datum
endif

Gruß

« Letzte Änderung: 10.11.03, 23:22:22 von Nighty »
Zitat
hab es mal so versucht...

Sub DatumNeu()
Dim pos As String

pos = InStr(ActiveCell.Value, ".")

If pos > 0 Then
  Monat = Left(ActiveCell.Value, 2)
  Tag = Mid(ActiveCell.Value, pos + 1, 2)
  Datum = Tag & "/" & monat & "/" & Right(ActiveCell.Value, 4)
  ActiveCell.Value = Datum
End If
End Sub

Funktioniert aber nicht...

kannste noch mal einen blick drauf werfen???
wäre nett...

Bin leider noch ein Änfänger beim programmieren  

Jo pos ist auch ne Zahl(Integer) (Position des ersten "." in der Zeichenfolge hier 3)

Dim pos as Integer
Dim Monat as string
Dim Tag as string
Dim Datum as string

monat = Left(ActiveCell.Value, 2)
(Von Links aus gesehen 2 Zeichen der Zeichenfolge(ActiveCell.Value))

Tag = Mid(ActiveCell.Value, pos + 1, 2)
(Extrahiert aus der Zeichenfolge(ActiveCell.Value) 2 Zeichen, ab der Position 4 (pos+1=3+1=4) also Zeichen 4+5)

Jahr = Right(ActiveCell.Value, 4)
(Von Rechts aus gesehen 4 Zeichen der Zeichenfolge (ActiveCell.Value) )

und ActiveCell.Value musste halt selber schauen das dort die richtige Zelle markiert ist bevor du DatumNeu aufrufst..

Gruß
« Letzte Änderung: 11.11.03, 19:27:11 von Nighty »

« Touchscreen ProgrammierungVergleich mit char »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Datenbank
Eine Datenbank (DBS), im englischen database, ist eine strukturierte Datensammlung und fungiert wie ein "digitales Archiv". Datenbanken dienen der effizienten Aufbewahrun...

Datenkompression
Siehe komprimieren. ...

Datenrate
Die Datenrate, oft auch als Datenübertragungsrate oder Datentransferrate bezeichnet, gibt an, wie viele Daten in einer bestimmten Zeiteinheit (meistens pro Sekunde) ...