2015-03-31 73 views
-1

我有兩列MU,其中包含Excel工作表中的員工時間記錄,但時間格式錯誤,它類似於08:13a。我想它看起來像08.13爲了使用減法公式如=U2-M2來獲得差異。所以我想用.代替:,並使用Excel VBA獲取最後一個字符。如何刪除最後一個字符並用`.`代替`:`

+0

[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)。顯示你試圖做的事情,我們可以幫助解決它。 – FreeMan 2015-03-31 17:27:58

+0

「08:13a」中的什麼時間表示小數點的分隔符。 – pnuts 2015-03-31 17:28:48

+0

@pnuts謝謝,它的'3/26/2015'。時間格式非常像'08:13a'這樣的日期字段格式'3/26/2015'。我認爲excel認爲它是文本,因爲':'和字母'a',這樣我就可以進行任何數學計算 – Keven 2015-03-31 17:31:03

回答

2

如果8:13A真的是8小時,13分鐘,然後運行:

Sub TimeFixer() 
    For Each r In Selection 
     ary = Split(Mid(r.Text, 1, Len(r.Text) - 1), ":") 
     r.Value = TimeSerial(ary(0), ary(1), 0) 
     r.NumberFormat = "hh:mm:ss" 
    Next r 
End Sub 

會產生一個時間,你可以使用數字。

編輯#1:

公式:

=TIMEVALUE(LEFT(A1,LEN(A1)-1)) 

例如:

enter image description here

還是在代碼替換選擇喜歡的東西範圍(」 A1:A100「)

皮膚有這麼多種方法。

+0

非常感謝Gary's Work的魅力,但是有什麼方法可以將單元格範圍放在公式中而不是手動選擇單元格範圍? – Keven 2015-03-31 18:02:12

+1

@Keven見我**編輯#1 ** – 2015-03-31 18:07:22

相關問題