2016-10-06 15 views
1

In Excel 2010 funktioniert alles einwandfrei, aber in Excel 2013 tritt der Fehler "Typenkonflikt" auf. Das Problem liegt bei den folgenden Codelines (verschiedene Varianten habe ich ausprobiert).Typenkonflikt in Excel 2013

startDate = startDateCell.Value 
startDate = CDate(startDateCell.Value) 
startDate = CDate(Format(startDateCell.Value, "short date")) 

Der Inhalt von startDateCell ist z. eine Zeichenkette wie "2016.06.12"

startdate ist ein Datum-Variable

+1

Haben Sie versucht 'DATEVALUE()'? –

+2

Es klingt wie Ihre regionalen Einstellungen auf dem Computer mit 2013 Daten mit einem Vollstopptrennzeichen nicht erkennen. – Rory

+0

Die regionalen Einstellungen an der Maschine sind auf EU eingestellt und das Datum ist im EU-Format. –

Antwort

1

Ist es ein US-Format Datum? Ich nehme an, nicht basierend auf der Zeit, die Sie posten. Das Problem könnte sein, dass die vba es als us date anerkennt und den 13/1/2016 als 1/13/2016 (unter Verwendung der britischen Logik) interpretiert und auf einen 13. Monat verweist, der einen Fehler ergibt.

Function Convertings() As String 
    Convertings = Format(DateValue("13/1/2016"), "mm/dd/yyyy") 
End Function 
+0

Nein, das Datum ist in der EU-Format –

+0

Das ist mein Punkt, ich denke, es muss in US-Format sein, so ist es derzeit in dem Blatt als ddmmyyyy, Vba sieht es an und interpretiert es als mmddyyyy, wie es amerikanisch ist. Du könntest das mit datepart überprüfen, wenn du überhaupt irgendwelche Werte bekommen kannst? – User632716