獲取對象變量或變量未設置錯誤。我所要做的就是定位自己,以便能夠將數據從newStartDate分析到newEndDate,並將其與oldStartDate和oldEndDate之間的數據進行比較。停留在「主列表」中查找日期的地址不確定爲什麼我正在爲此掙扎這是一個簡單的任務,但我似乎無法解決錯誤。有什麼想法嗎?我已閱讀其他類似的帖子,似乎無法弄清楚我在做什麼不同。提前致謝代碼如下:錯誤在Excel列表中找到多個日期範圍
注意:1/1/14是在newStartDate範圍內設置的日期。這個日期並不存在,因爲直到第二天才開展業務。我在帖子中發現,如果沒有找到確切的日期,底部的「Set newStartDateFinder」行會找到下一個最接近的日期..我開始認爲情況並非如此,因爲當我嘗試運行調試器它似乎是空的。
Option Explicit
Sub Gather_Calculate_Performance()
'Variable declaration
Dim EBM As Workbook
Dim masterList, controlOut As Worksheet
Dim newStartDate As Range
Dim newEndDate As Range
Dim oldStartDate As Range
Dim oldEndDate As Range
Dim newStartDateFinder As Range
Dim newEndDateFinder As Range
Dim oldStartDateFinder As Range
Dim oldEndDateFinder As Range
'Setting main objects
Set EBM = Workbooks("Monthly Analysis (DEV)")
Set masterList = EBM.Sheets("Master List")
Set controlOut = EBM.Sheets("Control.Output")
'setting main variables
Set newStartDate = controlOut.Range("B" & 5)
Set newEndDate = controlOut.Range("B" & 6)
Set oldStartDate = controlOut.Range("D" & 5)
Set oldEndDate = controlOut.Range("D" & 6)
'Find addresses for dates
Set newStartDateFinder = masterList.Range("A:A").Find(newStartDate, LookIn:=xlValues, LookAt:=xlWhole)
Debug.Print newStartDateFinder.Address
End Sub
嘗試更改'...在第二個la中查找(newStartDate,...' st line to'... Find(newStartDate.Value,...' – PankajR
@PankajR仍然空着,但我認爲問題存在於事實上,即1/1/2014不存在,但它應該找到而不是1/2/2014。不要認爲這是正確的代碼來做到這一點? – StormsEdge
是的,這是@StormsEdge的問題。你的日期是按順序排列的嗎? –