2013-02-18 16 views
1

I`ve VBA代碼,以特定格式像下面VBA:表現爲錯誤的日期格式

If Not IsNull(Data.getAttribute("recorded"))) Then 
    Range("BG3") = Format((Data.getAttribute("recorded")), "dd/mmm/yyyy") 
End If 

這段代碼在我本地的實際工作顯示日期。但在服務器中顯示的格式爲'02 .14.2013'。

由於錯誤的日期格式,我遇到了一些問題。

這可能是什麼原因? 有人請幫助我。

+0

它應該是什麼樣子? 「mmm」是否正確?它看起來不尋常 – 2013-02-18 09:56:28

+0

不同的區域設置? '/'vs'.' – 2013-02-18 09:57:08

+0

你可以把它放在上下文中。格式((Data.getAt ....正在使用?)的結果在哪裏?你是否在單元格中顯示它?如果是這樣,請提供執行此操作的代碼行。還請你仔細查看代碼是否可能最初是以正確的格式顯示,但也許你以後重新設置格式? – Dan 2013-02-18 09:57:28

回答

0

嘗試和Range語句之前添加以下內容:

Range("BG3").NumberFormat = "@" 'set to display as text 
0

我的建議是嘗試:

If Not IsNull(Data.getAttribute("recorded"))) Then 
    Range("BG3").Value2 = Format((Data.getAttribute("recorded")), "dd/mmm/yyyy") 
End If 

如果這仍是一個問題

If Not IsNull(Data.getAttribute("recorded"))) Then 
    Range("BG3").Value = Data.getAttribute("recorded") 
    Range("BG3").NumberFormat = "dd/mmm/yyyy" 
End If 

但我仍然堅持在某個具有戰略意義的地方設置一個斷點,並通過代碼確定n棕褐色以不正確的格式顯示在單元格中,而不是稍後重置。