2017-05-29 47 views
0

因此,我的日期爲20170529,但每當我嘗試將其格式化爲日期時,單元格就會變成#########。所以通常情況下,這意味着列寬太小,但即使當我擴展列時,它也只顯示#####將YYYYMMDD更改爲MM/DD/YYYY

如何將它們轉換爲日期。

+0

我想這[回答](https://stackoverflow.com/a/37611179/5513005)可能會幫助您 –

+1

謝謝,我用= DATE(左(A1,4),中(A1,5,2) ,RIGHT(A1,2)) –

回答

1

從格式細胞從類別中選擇選擇日期,並選擇您想要

+1

當且僅當存儲的值是格式化爲顯示爲yyyymmdd的實際日期值時,它才能起作用。換句話說,如果存儲的值是「20170529」,那麼你的方法將不起作用。只有當存儲的值是'42884' –

+1

......它不是,如'#'所示。 – pnuts

0

選擇要修復並運行此短宏其細胞類型:

Sub INeedADate() 
    Dim r As Range 
    For Each r In Selection 
     v = r.Text 
     If Len(v) = 8 Then 
      r.Clear 
      r.NumberFormat = "mm/dd/yyyy" 
      r.Value = DateSerial(Left(v, 4), Mid(v, 5, 2), Right(v, 2)) 
     End If 
    Next r 
End Sub 
+0

他的標籤不包含'vb'。我認爲他提出的問題與單純使用MS-Excel一樣。 –

+0

@YashKaranke你可能是對的! –

1
=DATEVALUE(TEXT(A1,"0000\/00\/00")) 

並格式化結果作爲日期

1

快速方法是數據,文本到列,固定寬度,日期:YMD,完成。以下是所有意圖和目的的實時。

enter image description here

不宜帶太多到記錄到一個子過程。