在vba中替换函数时出现类型不匹配错误

时间:2014-05-08 04:07:35

标签: excel-vba vba excel

我的vba代码是将当前时间和日期替换为4_17_2014 8_09_00 PM格式

但是我在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

任何人都可以帮助我,为什么我会收到错误

1 个答案:

答案 0 :(得分:1)

正如@Tim Williams在评论中提到的,Replace仅适用于字符串变量,但CurrTime日期(实际上,日期变量不是不存储日期的格式,但仅限日期本身。显示日期时的格式取决于您单元格的区域设置和数字格式。)

但是你可以使用单行代码的函数:

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