2017-09-05 54 views
-1

我試圖將數據從Access數據庫複製到Excel試算表訪問VBA發現日期不工作的單個數字天

首先我需要通過搜索日期,找到右側立柱,這工作得很好日期的地方有一個2位數字,即16/09/2017,但對於單日數日期的日期6/09/2017它找不到日期

在Excel中,我試圖做一個查找與6/09/2017和它發現它很好,但它沒有找到06/09/2017

我的字段在訪問顯示爲2017/9/09所以我不知道問題出在哪裏,代碼我已經嘗試下面(所有相同結果)

colNo = .Cells.Find(What:=Format(Me.RejectDate,dd/mm/yyyy), After:=.Cells(1, 1), LookIn:=(-4123), SearchOrder:=2, SearchDirection:=1, MatchCase:=False).Column 

colNo = .Cells.Find(What:=CDate(Me.RejectDate), After:=.Cells(1, 1), LookIn:=(-4123), SearchOrder:=2, SearchDirection:=1, MatchCase:=False).Column 

colNo = .Cells.Find(What:=Me.RejectDate, After:=.Cells(1, 1), LookIn:=(-4123), SearchOrder:=2, SearchDirection:=1, MatchCase:=False).Column 

是0會自動加入嗎?如果是的話爲什麼我該如何阻止它?
還是別的什麼問題?

+0

DD/MM/YYYY是國際格式,沒有準入標準是除去0 MM/DD/YYYY。查看http://allenbrowne.com/ser-36.html。在Format函數中使用dd將強制佔位符0,因此它的格式爲06,而不是6.我很驚訝Format函數在引號中沒有格式掩碼。 – June7

+0

格式函數的結果是一個字符串,而不是日期值。我只是重讀這個問題。很奇怪。格式化的日期應該匹配到06/09/2017,而不是2017/9/9。 – June7

+0

@ June7哦,我的壞它確實有引號當我跑它,但我剛剛從CDate重寫了它,以顯示我曾試過當我把它複製到問題 – Liamck27

回答

0

找到了解決辦法
我只是檢查是否有0從格式功能添加,如果添加

dataDate = Format(Me.RejectDatetb, "dd/mm/yyyy") 
If Left(dataDate, 1) = "0" Then 
    dataDate = Right(dataDate, Len(dataDate) - 1) 
End If 
colNo = .Cells.Find(What:=dataDate, After:=.Cells(1, 1), LookIn:=(-4123), SearchOrder:=2, SearchDirection:=1, MatchCase:=False).Column