2017-03-17 173 views
2

我有一組日期在列B06/03/2017格式化在自定義dd-mmm格式給我06-Mar輸出。Excel VBA查找()日期問題

如果我手動執行查找/替換並搜索06-Mar並選擇Look In: Values,它發現它沒有問題,但通過VBA執行相同操作無效。

Dim Source as Worksheet, Dest as Worksheet 
Dim mDate as String, copyRow as Integer 

Set Dest = ThisWorkbook.Sheets("Weekly Updates") 
Set Source = ActiveWorkbook.Sheets("Weekly Updates") 
mDate = Dest.Range("B2").Text 
copyRow = Source.Range("B:B").Find(What:=mDate, LookIn:=xlValues).Row 

我試圖讓mDate作爲一種價值和公式和值搜索,但似乎沒有任何工作。

線路調試copyRow = Source.......然而,如果我在這一點上手動打開查找/替換窗口,它會用「06-Mar」填充搜索欄,並在B列中找到沒有問題的值。

如果我用字符串替換mDate我知道有,例如Find(What:="W/C".....它返回copyRow爲1(因爲它是該列的標題)。

任何建議我在這裏失蹤?

EDIT

爲了覆蓋幾個下面的意見:

是片材被命名爲相同的,只是在不同的工作簿(主文件到拉從多個相同的源的數據)

就格式而言,我從具有06/03/2017的真實值的日期獲得搜索條件,其格式爲dd-mmm,在數據範圍內搜索爲真實日期06/03/2017也格式化爲dd-mmm

+0

什麼是你的目標是什麼?你的例子正在爲我工​​作。我想也許你沒有完全解釋你的問題。你的意思是看'xlFormula'嗎? – Marc

+0

是否真的是你的來源和目的地表單相同? mDate在Dest工作表中是否真的存在?或者它是錯誤的? –

+1

@ D.O。 - 我懷疑用不同的工作表命名不同的工作簿。 – Jeeped

回答

0

儘量給變量mDate您的日期相同的格式:

copyRow = Source.Range("B:B").Find(What:=Format(mDate, "dd-mmm"), LookIn:=xlValues).Row