2014-10-07 1 views
0

Кто-нибудь знает, как решить эту проблему? Прежде чем импортировать данные, дата, кажется, хорошо, когда открыто, это формат:Дата изменена на формат номера при вводе листа. Excel VBA

Release Date Created 
24/04/2014  10/03/2014 20:32 

Но после импорта в свежий лист на моей книге, дата меняется на 5 разрядов чисел, показанных ниже.

Release Date Created 
41753   41708.85556 

Как я могу решить проблему при импорте в листок? Ниже приведен мой код для импорта листа в мой проект.

Sub ImptSht() 
    Dim altwb As Workbook 
    Dim FilePathalt As String 
    Dim activeWB As Workbook 

    Set activeWB = Application.ActiveWorkbook 

    FilePathalt = "C:\DataSheet\workbook.xls" 

    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False 

    Set altwb = Application.Workbooks.Open(FilePathalt, Local:=True) 

    altwb.Worksheets(1).Copy After:=activeWB.Sheets(activeWB.Sheets.Count) 
    altwb.Close False 

    activeWB.Sheets("shet").Cells.AutoFilter 
    activeWB.Sheets("shet").Cells.ClearFormats 

    Application.ScreenUpdating = True 
    Application.DisplayAlerts = True 

End Sub 

Любая помощь очень ценится!

+0

Что такое лист под названием «shet»? я предполагаю, что если вы используете '.clearformats' в конце копии, хорошо, что вы в конечном итоге теряете форму (даты идут на общие) –

ответ

1

Показанное число представляет собой значение даты. Для преобразования в формат даты, выберите столбец, который вы хотите преобразовать в дату и использовать NumberFormat свойство, как так:

'Change the column letter to the applicable one 
Columns("A:A").NumberFormat = "m/d/yyyy" 
+0

есть ли формат даты и времени? например. 10/03/2012 20:32 –

+0

Да, вы можете использовать '' dd/mm/yyyy hh: mm "' например. – Gareth

2

ClearFormats делает это. Освободите это заявление.

+0

И используйте ответ Гарета, если вы хотите снова установить формат столбцов даты. – Barry

Смежные вопросы