2014-01-20 2 views
0

У меня есть окно с пятью столбцами в приложении VBA в Excel. Я получил способ вернуть значение выбранного элемента, но есть ли способ получить значение последнего элемента в списке? В столбце два поля списка у меня есть дата, которую я хочу сравнить с установленной датой. Прошу прощения, если это плохо сказано.Значение конкретного элемента в списке

Скажите, что у меня есть дата, как 13.01.2012. Я хочу сравнить это с датой в столбце два из последнего элемента в списке.

Пример Listbox

1, 01/01/2014, например, пример, пример

2, 01/05/2014, например, пример, пример

3, 01/07/2014, пример, пример, пример

4, 01/14/2014, пример, пример, пример < --- Я хочу даты из второго столбца этого

Я просто не» 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, чтобы получить вторую колонку. Надеюсь, это поможет кому-то еще в будущем!

Смежные вопросы