2014-10-07 94 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',那麼你最終會失去格式化(日期將變爲一般) – 2014-10-08 03:46:19

回答

1

顯示的數字代表日期值。要轉換成日期格式這一點,選擇你想轉換成一個日期和使用NumberFormat屬性,像這樣的列:

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

是否有任何格式的日期和時間?例如。 10/03/2014 20:32 – 2014-10-07 07:50:08

+0

是的,你可以使用'「dd/mm/yyyy hh:mm」'例如。 – Gareth 2014-10-07 07:54:26

2

ClearFormats正在這樣做。 鬆散的聲明。

+0

如果您想要再次設置日期列的格式,請使用Gareth的答案。 – Barry 2014-10-07 07:44:17