Transposing Array mit Datumsänderungen Datumsangaben

Verhalten

Wenn ich ein eindimensionales Array mit Datumsangaben transponiere, um sie als Ganzes auf ein Blatt zu drucken, werden einige Datumsangaben gegenüber dem @ -Zeichen geänderdd/mm/yy zumm/dd/yyyy.

Insbesondere, wenn der Tag des Monats:

ist kleiner oder gleich 12, z. B.January 2, 2016 (02/01/16), oderMay 11, 2016 (11/05/16), dann wird das Datum im Datumsformat gedrucktmm/dd/yy und ist nach rechts ausgerichtet. ist größer als oder gleich 13, z. B.April 23, 2016 (23/04/16), oderDecember 17, 2016 (17/12/16), dann wird das Datum im Datumsformat gedrucktdd/mm/yyyy und ist linksbündig ausgerichtet.

Wenn ich eine for-Schleife verwende, um jedes Datum separat auszudrucken, oder wenn ich das Array nicht transponiere und jedes Datum in der ersten Zeile jeder Spalte drucke, werden alle Datumsangaben im Format @ gedruckdd/mm/yy und alle Daten sind richtig ausgerichtet.

Frage

Kann jemand erklären, warum dies passiert, ob dies normal ist oder ob es sich um einen Bug / eine Funktion handelt.

Zusätzliche Information

Ich habe

Windows 8.1 (Englisch USA)Office 365 Student (Englisch USA) (Excel 2016 32 Bit)Locale Einstellung: NiederlandeCode
Option Explicit

Sub TransposeDatesArray()
    Dim arrDates() As Date
    Dim i As Variant

    ReDim arrDates(0)

    For i = CDate("Januari 01, 2016") To CDate("December 31, 2016")
        If UBound(arrDates) = 0 Then
            ReDim arrDates(1 To 1)
        Else
            ReDim Preserve arrDates(1 To UBound(arrDates) + 1)
        End If
        arrDates(UBound(arrDates)) = i
    Next

    With ThisWorkbook.Worksheets(1)
        .Cells.Delete
        .Cells(1, 1).Resize(UBound(arrDates)).Value = Application.Transpose(arrDates)
        .Cells(1, 2).Resize(UBound(arrDates)).Value2 = Application.Transpose(arrDates)
        .Cells(1, 3).Resize(UBound(arrDates)).Formula = Application.Transpose(arrDates)

        For i = LBound(arrDates) To UBound(arrDates)
            .Cells(i, 4).Value = arrDates(i)
            .Cells(i, 5).Value2 = arrDates(i)
            .Cells(i, 6).Formula = arrDates(i)
        Next

    End With
End Sub
Ergebnis

Antworten auf die Frage(4)

Ihre Antwort auf die Frage