2014-03-13 100 views
1

this one類似的問題(但不完全相同)。Excel宏將日期值轉換爲純文本,無格式

我的問題稍有不同。我有一列日期從mm/dd/yyyy轉換爲yyyy-mm-dd。例:

2013年11月4日
2013年11月5日
2013年12月10日

這些細胞與以下類型格式化:yyyy-mm-dd

我遇到了符合XML Schema的問題,然後導出到XML。我認爲這個問題與單元格公式有關(似乎在沒有公式時工作),因此我只想保留文本並刪除格式。

有一個Clear > Clear Formats選項,但將日期轉換回它的原始狀態mm/dd/yyyy

我還需要在宏中執行此操作。

這裏我的僞代碼:

For Each cell In myRange 
    Dim s As String 
    s = c.Text 
    c.ClearFormats 
    c.Text = s 
Next 

我認爲這會工作,但它不...我得到object required錯誤消息。

回答

2

至少這是正確的語法:

Sub demo() 
    Dim Myrange As Range, Cell As Range 
    Dim s As String 
    Set Myrange = Range("A1:A10") 
    For Each Cell In Myrange 
     s = Cell.Text 
     Cell.ClearFormats 
     Cell.Value = s 
    Next Cell 
End Sub 

但你可能實際需要

Sub demo() 
    Dim Myrange As Range, Cell As Range 
    Dim s As String 
    Set Myrange = Range("A1:A10") 
    For Each Cell In Myrange 
     s = Cell.Text 
     Cell.NumberFormat = "@" 
     Cell.Value = s 
    Next Cell 
End Sub 
0

與有點棘手..like做以下

For Each Cell In myrange 
    Dim s As String 
    s = "'" & Cell.Text 
    Cell.ClearFormats 
    Cell.Value = s 
Next 
相關問題