2015-01-15 18 views
0

我一直在撞牆試圖找出一個動態文件名問題。DateValue和格式在一個單一的公式

我試圖從包含時間數據的單元格(J2)中提取6位數字的日期,並使用它來保存我的文件名。單元格格式爲「常規」。

唯一式I可以得到的工作是本手冊式使用未佔用的小區(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上午

我試過在Format函數中嵌套一個DateValue函數,但無法讓它工作。

任何想法?

+1

是'J2'格式化爲日期或字符串(文本)? – Chrismas007

+0

啊,好點。那麼他爲什麼會使用'DATEVALUE'函數是有道理的。 – TheEngineer

+0

它被格式化爲「常規」,但通過「IsNumeric」測試。 –

回答

0

試試這個:

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") 
+0

我得到一個「運行時錯誤'1004':Object'_Workbook'失敗'的方法'SaveAs'。 –

+0

我的天!有效!我不熟悉InStr。你是否從左到右看,直到你找到一個空間? –

+0

@KarlDrews是的,你懂了! – TheEngineer

相關問題