Excel 一个公式中的日期值和格式

Excel 一个公式中的日期值和格式,excel,vba,date,format,filenames,Excel,Vba,Date,Format,Filenames,我一直在努力解决动态文件名问题 我试图从包含时间数据的单元格J2中提取6位数的日期,并使用它保存我的文件名。单元格的格式为“常规” 我唯一可以使用的公式是使用未占用单元格W2的手动公式,然后删除丑陋,我知道: Range("W2").Formula = "=DateValue(J2)" RefDate = Format(Range("W2"), "m-d-yy") NameofFile = "On Time Departure " & RefDate Range("W2").Delete

我一直在努力解决动态文件名问题

我试图从包含时间数据的单元格J2中提取6位数的日期,并使用它保存我的文件名。单元格的格式为“常规”

我唯一可以使用的公式是使用未占用单元格W2的手动公式,然后删除丑陋,我知道:

Range("W2").Formula = "=DateValue(J2)"
RefDate = Format(Range("W2"), "m-d-yy")
NameofFile = "On Time Departure " & RefDate
Range("W2").Delete
单元格数据如下所示

2015年1月8日凌晨2:00:00.000000

我尝试将DateValue函数嵌套在Format函数中,但无法使其工作

有什么想法吗?

试试这个:

Dim RefDate As Date
RefDate = Range("J2").Value
NameofFile = "On Time Departure " & Format(RefDate, "m-d-yy")
编辑

如果J2包含字符串而不是日期,如Christmas007所述,请尝试以下操作:

Dim curDate As String
Dim RefDate As Date

curDate = Range("J2").Value
RefDate = DateValue(Left(curDate, InStr(curDate, " ")))
NameofFile = "On Time Departure " & Format(RefDate, "m-d-yy")

J2的格式是日期还是字符串文本?啊,很好。这就是为什么他要使用DATEVALUE函数的原因。它的格式是常规的,但通过了IsNumeric测试。我得到了一个运行时错误“1004”:对象“U工作簿”的方法“SaveAs”失败。天哪!成功了!我对仪器不熟悉。你是不是只是从左向右看,直到找到一个空间?@KarlDrews是的,你找到了!非常感谢你的帮助。你们太棒了。@KarlDrews没问题!如果答案对您有效,请确保将其标记为已接受,以便将来的访问者可以看到有效的答案。