我在Excel的VBA应用程序中有一个五列列表框。我已经知道了如何返回所选项目的值,但是有没有办法获得列表中最后一项的值呢?在列表框的第二列中,我有一个要与预设日期进行比较的日期。如果这句话措辞不当,我深表歉意。
假设我的日期是2014年1月13日。我想将它与列表框中最后一项的第二列中的日期进行比较。
示例列表框
1 /01/2014,example,example,example
2,01/05/2014,示例
3,01/07/2014,示例
4,01/14/2014,example,example,example <-我想要这个第二列中的日期
我只是不知道如何返回最后一条记录的值,而不是由用户手动选择。有什么想法吗?
我知道我可能必须使用ListCount属性来获取列表框中条目的总数,但是我不知道如何引用这个特定的索引(即使用listcount来发现前面提到的列表有4个条目,并引用lstCases(4,2)中的数据)
发布于 2014-01-21 03:04:35
我想通了。使用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以找到最后一条记录,并将该列指定为1以获得第二列。希望这能在未来帮助其他人!
https://stackoverflow.com/questions/21241699
复制相似问题