2013-07-18 191 views
1

我目前有一個代碼將日期和時間輸出到列A中,但我希望它們是分開的(日期在列A中,時間在列B中)。我試圖解決這個問題,記錄一個宏,並在Excel中執行分隔的過程,但它沒有像我想要的那樣工作。將日期/時間拆分爲2列

主要是我想知道的是,如果這是可能的,或者我應該嘗試替代編碼來分開他們開始。提前致謝!

Sub Macro1() 

Dim dTime As Date 
Range("A:A").Select 
Selection.NumberFormat = "mm/dd/yyyy hh:mm:ss AM/PM" 

Range("A1").Select 
Set Cell = [A1] 

For dTime = "3/01/2013 12:00:00 AM" To "3/02/2013 11:55:00 PM" Step "00:05" 
ActiveCell.Value = dTime 
ActiveCell.Offset(1, 0).Select 

Next dTime 

End Sub 
+0

這是否需要通過宏?你可以使用公式和設置的組合嗎? – PowerUser

回答

2

您可以使用Format(Expression,[format])將值放入單元格之前進行格式化。看到下面更新的代碼(隨意更新格式,因爲你認爲合適)

Sub Macro1() 

Dim dTime As Date 
Dim x As Integer 

x = 1 

For dTime = "3/01/2013 12:00:00 AM" To "3/02/2013 11:55:00 PM" Step "00:05" 
    ' Sets the date in the cell of the first column 
    Cells(x,1).Value = Format(dTime, "mm/dd/yyyy") 

    ' Sets the time in the cell of the second column 
    Cells(x,2).Value = Format(dTime, "hh:mm:ss AM/PM") 
    x = x + 1 
Next dTime 
End Sub 
+1

我想你應該把最後一個答案的一部分加入到這個中。避免選擇/激活任何東西。你的答案在這裏起作用,但是可以很容易地避免選擇單元並寫入活動單元。 –

+0

100%正確@餐飲部門負責人..我很忙,只是更新了OP的代碼。 – Jaycal

+0

+1。很好的答案,尤其是編輯。 ;-) –