2014-01-20 5 views
0

Excel의 VBA 응용 프로그램에 5 개의 열 목록 상자가 있습니다. 선택한 항목의 값을 반환하는 방법을 얻었지만 목록의 마지막 항목의 값을 가져 오는 방법이 있습니까? 목록 상자의 두 번째 열에는 미리 설정된 날짜와 비교할 날짜가 있습니다. 이것이 나쁘게 말하면 사과드립니다.목록 상자의 특정 항목 값

2014 년 1 월 13 일과 같은 날짜가 있다고합니다. 나는 그것을 목록 상자의 마지막 항목의 두 번째 열의 날짜와 비교하려고합니다.

예리스트 박스

1 2014년 1월 1일 예 예 예

2 2014년 1월 5일 예 예 예

3 01/07/2014, 예, 예, 예

4, 2014년 1월 14일, 예, 예, 예 <이 --- 내가 원하는 난 그냥 돈이

의 두 번째 열에서 날짜 ' 사용자가 수동으로 선택하지 않고 마지막 레코드의 값을 반환하는 방법을 알고 있습니다. 어떤 아이디어?

아마도 ListCount 속성을 사용하여 목록 상자에있는 항목의 총 개수를 가져야한다는 것을 알고 있지만 해당 특정 인덱스를 참조 할 수있는 방법을 모르겠습니다 (예 : listcount를 사용하여 목록에는 4 개 항목이 있으며 사례 (4,2)에서 데이터를 참조합니다.

답변

0

알아 냈습니다. List 속성을 사용하여 행과 열을 지정할 수 있습니다. 가장 최근의 체크 포인트 (이 프로젝트가 시작된 시점부터 2 주마다)를 가져와 Date로 반환하는 함수가 있습니다.

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

이 방법은, 내가 ListCount을 찾아 마지막 레코드를 찾아 두 번째 열을 얻기 위해 1과 열을 지정하는 하나를 빼기 :

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 

그래서 나는 다음과 같은 것을 비교하는 데 사용됩니다. 바라기를 이것은 미래에 다른 누군가를 도울 것입니다!

관련 문제