Excel / VBA - Datum im Format YYYYMMDD aus einer Zelle lesen, einen Tag abziehen und ausgeben?

... komplette Frage anzeigen

1 Antwort

Ein bisschen von hinten durch die Brust ins Auge, aber damit du überhaupt eine Lösung hast: 

Sub x()
  Dim datum As Date
  Dim sdatum As String
  sdatum = Range("A2").Value
  datum = CDate(Left(sdatum, 4) & "-" & Mid(sdatum, 5, 2) & "-" & Right(sdatum, 2))
  datum = DateAdd("d", -1, datum)
  MsgBox Year(datum) & LPad(Month(datum), "0", 2) & LPad(Day(datum), "0", 2)
End Sub


Function LPad(s, fuell, laenge) If Len(fuell) > 0 Then While Len(s) < laenge s = s & fuell Wend End If LPad = s End Function
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von maximilianus7
15.06.2016, 13:02

soweit - so gut. fraglich finde ich den parameter für cdate. das format des strings hängt von der lokalen einstellung ab. also wahrscheinlich beim fragesteller die grundeinstellung deutsch. dann erwartet cdate die form dd.mm.yyyy

bei mir würds funktionieren, da ich auf iso eingestellt habe.

0
Kommentar von Herzbube27
15.06.2016, 13:17

Danke schonmal, es funktioniert soweit, jedoch kommt am Ende "20166030" raus anstatt "20160630". Was muss ich noch ändern, damit es läuft?

1

Was möchtest Du wissen?