This is great and works perfectly.

Thank you very much for the rapid response, I greatly appreciate it. If you are in the bay area, CA I would buy you a drink.

Quote Originally Posted by AlphaFrog View Post
Try this...

Sub Reformat_Data()
    
    Dim v As Variant, i As Long
    
    Application.ScreenUpdating = False
    
    With Sheets("Sheet2")
    
        .Columns("A:A").Value = Sheets("Sheet1").Columns("A:A").Value
        .Columns("A:A").NumberFormat = "0000"
        
        .Columns("B:C").Value = Sheets("Sheet1").Columns("F:G").Value
        .Columns("B:B").NumberFormat = "0000-00-00"
        
        .Columns("A:C").HorizontalAlignment = xlCenter
        .Columns("A:C").ColumnWidth = 13
        
        '*****************************************************
        ' Use this if you want to "convert" (not just display)
        ' the numbers in column B into serial dates.
        With .Range("B2", .Range("B" & Rows.Count).End(xlUp))
            v = .Value2
            On Error Resume Next
            For i = 1 To UBound(v, 1)
                v(i, 1) = CDate(Format(v(i, 1), "0000-00-00"))
            Next i
            On Error GoTo 0
            .Value2 = v
            .NumberFormat = "yyyy-mm-dd"
        End With
        '*****************************************************
        
    End With
    
    Application.ScreenUpdating = True
    
End Sub