2014-05-08 58 views
1

我的VBA代碼是取代當前的時間和日期4_17_2014 8_09_00 PM格式獲取類型不匹配錯誤替換VBA函數

但我正在逐漸類型不匹配錯誤運行下面的VBA代碼,而

Function Current_Date_Time_Stamp() 

Dim CurrTime As Date 

CurrTime = Now 
MsgBox Now 
CurrTime = Replace(CurrTime, "-", "_") 
MsgBox CurrTime 
CurrTime = Replace(CurrTime, ":", "_") 
Current_Date_Time_Stamp = CurrTime 

End Function 

任何人可以幫助我,爲什麼我得到錯誤

+0

在哪一行,你得到的錯誤? –

+1

替換在字符串上運行,並且您給它一個日期。如果您想要日期值的特定表示,請嘗試查看Format()。 –

+0

蒂姆威廉姆斯,我在第5行發生錯誤 – user3591858

回答

1

由於@Tim威廉姆斯在評論中提到,Replace僅適用於變量,但CurrTime日期(實際上,日期變量不存儲日期的格式,但僅限日期本身。格式爲時顯示日期取決於您的單元格的區域設置和數字格式)。

但是你可以使用函數像這樣的一行代碼:

Function Current_Date_Time_Stamp() 
    Current_Date_Time_Stamp = Format(Now, "mm_dd_yyyy h_mm_ss AM/PM;@") 
End Function 
+0

感謝您的回覆,它幫助我很多 – user3591858