2014-01-20 97 views
0

我在Excel中的VBA應用程序中有一個五列列表框。我已經得到了如何返回所選項目的值,但有沒有辦法獲得列表中最後一項的值?在列表框的第二列中,我有一個我想與預設日期進行比較的日期。如果這個措辭不好,我很抱歉。列表框中特定項目的值

說我有個約會像1/13/2014。我想將它與列表框中最後一項的第二列中的日期進行比較。

實施例列表框

1,2014年1月1日,例如,舉例來說,例如

2,2014年1月5日,例如,舉例來說,例如

3,01/07/2014年,例如,例如,例如

4,2014年1月14日,例如,例如,例如< ---我想從這個

我只是不第二列中的日期」 t知道如何返回最後一條記錄的值,而不需要用戶手動選擇它。有任何想法嗎?

我知道我可能不得不使用ListCount屬性來獲取列表框中的項目總數,但我不知道如何才能引用該特定索引(即使用listcount來查找上述內容列表有4項,並參考數據在lstCases(4,2))

回答

0

我想通了。使用List屬性,我可以指定一個行和一列。我有一個函數可以獲取最近的檢查點(從該項目開始到現在每隔兩週)並將其作爲日期返回。

Function getCheckpoint() As Date 

Dim startDate As Date 

startDate = "12/30/2013" 

Do 
    startDate = DateAdd("d", 14, startDate) 
Loop Until startDate > Now() 

getCheckpoint = DateAdd("d", -14, startDate) 


End Function 

所以我用比較如下:

If CDate(frmViewer.lstCases.List(frmViewer.lstCases.ListCount - 1, 1)) < getCheckpoint() Then 
    MsgBox ("Please begin a new case") 
End If 

這樣,我找到ListCount和減去一個找到的最後一個記錄,並指定列1獲得第二列。希望這將有助於未來的其他人!

相關問題