這是我的日期值Mar 30 2016 4:46:34:256PM
我想刪除時間使其像這樣Mar 30 2016
。VBA - 如何刪除一個範圍單元格中的字符串
我已經試過各種方法格式化這個值是否與格式像mm-dd-yyyy
,mm-dd-yyyy
,yyyy-mm-dd etc
。它的工作,但如果嘗試這個Mar 30 2016 4:46:34:256PM
作爲價值它不工作。有人可以告訴我爲什麼嗎?
我試過一個簡單的代碼來測試所有的格式,但它不使用該值Mar 30 2016 4:46:34:256PM
工作,所以我決定撤銷4:46:34:256PM
那就是我得到的股票....
Sub formateDate()
Dim lastrow As Long
lastrow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
Cells(i, 2).NumberFormat = ("dd-mm-yyyy")
Next i
End Sub
我不確定我是否理解。 'Mar 30 2016 4:46:34:256PM'是一個實際的日期還是一個字符串?如果Excel無法將文本識別爲日期,則無法更改其格式。要麼確保在單元格中輸入實際日期,然後格式化它們,要麼只需使用文本和日期函數即可提取日期。 – vacip
驗證(如@vacip建議)檢查「Cells(i,2).Value2」。如果它是一個數字,那麼這些日期被存儲爲日期,你可以使用'.NumberFormat'格式化它們。如果情況並非如此,並且您爲'.Value2'返回一個字符串,那麼您必須首先從字符串中提取日期(噩夢)。 – Ralph
@vacip它的實際日期,但即時將它定義爲範圍,所以我可以使用* NumberFormat * – 7A65726F