在我的excel文件中,有一百列。我想將文本中的某些列(例如列A,C,F,G ..)轉換爲日期。如果手動將每列逐列一列,那麼確實需要時間。 我該怎麼辦?通過使用VBA?如何將文本中的多列轉換爲日期?
原始文本列格式就像'31-Dec-2011 00:00:00'。我想轉換爲「DD/MM/YYYY」 31/12/2011
感謝
在我的excel文件中,有一百列。我想將文本中的某些列(例如列A,C,F,G ..)轉換爲日期。如果手動將每列逐列一列,那麼確實需要時間。 我該怎麼辦?通過使用VBA?如何將文本中的多列轉換爲日期?
原始文本列格式就像'31-Dec-2011 00:00:00'。我想轉換爲「DD/MM/YYYY」 31/12/2011
感謝
如果你真的想砍的時候掉在每個單元的那麼這可能是一個辦法:
如果目標時間位於名爲「目標」的工作表的A列中,並且A1中的列標題爲「StartTime」
您可以修改下面的內容並添加一個參數,以使其佔據列地址。然後可以多次調用它以在多個列上執行此操作。
Sub ChopOffTime()
dim mySheetName as string
mysheetname = "target" '<<<<change to your sheet name
myLstRow = Excel.ActiveWorkbook.Sheets(mysheetname).Cells(Excel.ActiveWorkbook.Sheets(mysheetname).Rows.Count, Excel.ActiveWorkbook.Sheets(mysheetname).Range("A2").Column).End(Excel.xlUp).Row
With Excel.ActiveWorkbook.Sheets(mysheetname)
.Columns("B:B").Insert Excel.xlToRight
.Range("B2:B" & myLstRow).FormulaR1C1 = "=TIME(HOUR(RC[-1]),MINUTE(RC[-1]), SECOND(RC[-1]))"
.Range("B1") = "StartTime" '<<<<<change to appropriate header
.Columns("B:B").Copy
.Columns("A:A").PasteSpecial Excel.xlPasteValues
.Columns("B:B").Delete Excel.xlToLeft
End With
End Sub
使用下面的列問題:
Columns("A:A").Select
Selection.NumberFormat = "m/d/yyyy"
感謝所有。
爲了簡化程序,我剛開發了一些用戶運行的宏來改變列格式,然後他們可以無誤地導入excel的mdb。
你真的要切掉每個單元格的時間**或**你只是想改變顯示的格式,即它將顯示爲31/12/2011,但如果你選擇了單元格,你將仍然在配方欄中看到2011年12月31日00:00:00? – whytheq 2012-07-22 11:07:30