2016-07-21 7 views
0

Ich versuche, das Datum eines Ereignisses zu halten. Ich habe Probleme mit der Art, wie meine Daten definiert wurden. Anstatt das aktuelle Datum zeigt die Ausgabe im Jahr 1900 Format zeigt (wie 1900.10.01)bekommen String-Ausgabe von 1900 von der Datumseingabe VBA

Hier ist mein Code:

Dim Arr_rate As Date 
Dim D(528) As Date 
for i = 3 to 500 
Arr_rate = -3.7 * Log(Rnd) '<~~ Arrival interval 
D(2) = CDate(1/1/2006) 
D(i) = D(i - 1) + Arr_rate 
Worksheets("A").Cells(i, "E").Value = Cdate(D(i)) 

next i 

Ich versuchte, das sdate Format in meinem Code zu haben, aber es wird gib mir die Zahlen nicht in einem richtigen Format (1/1/2006). Wie kann ich im richtigen Format drucken? Ich habe einen Beitrag im Stackover-Flow gelesen, war aber nicht hilfreich!

+0

oder 'D (2) = # 1/1/2006 #' – Slai

+0

Dort heißt es: "Fehler erwarteten Ausdruck kompiliert!". – Zapata

+0

@Zapata Fügen Sie keine Probleme in der vorhandenen Frage hinzu, indem Sie sie bearbeiten. Wenn deine ursprüngliche Frage beantwortet wird, markiere sie als Antwort und ja, sie hat sie auch aufgefrischt, Jemand hat etwas Zeit damit verbracht. Hast du eine neue Frage? Frag es separat. Lesen Sie diese: http: //slash7.com/2006/12/22/vampires/ Schon bald werden die Leute beginnen, Ihre Fragen zu vermeiden. – cyboashu

Antwort

1

Ohne Anführungszeichen 1\1\12006 ist nur ein mathematischer Ausdruck und kein Datum.

Sub test() 

    Dim Arr_rate As Date 
    Dim D(528) As Date 
    For i = 3 To 500 
     Arr_rate = -3.7 * Log(Rnd) '<~~ Arrival interval 
     '<~~ Using Cdate, then use string. Otherwise 1/1/2006 evaluates to 4.98504486540379E-04 
     D(2) = CDate("1/1/2006") 
     D(i) = D(i - 1) + Arr_rate 
     Worksheets("Sheet1").Cells(i, "E").Value = CDate(D(i)) 
    Next i 


End Sub 
+0

Der Code funktioniert, wenn ich den Code überprüfe und den Cursor auf Variablen verschiebe. Aber es druckt nichts. Hat es die Daten für Sie gedruckt? – Zapata

+1

Wenn Sie das Blatt Sheet1 haben, prüfen Sie die Spalte E dieses Blattes. :) – cyboashu

+0

Der Code funktioniert gut, bis der if-Code kommt und eine Zeile wiederholen will. Danach geht die Formatierung erneut (1900). – Zapata