이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
글 수 822
첨부된 파일은 학교에서 "장학금 지급 내역"을 자동화시켜 여러 학생에게 골고루 혜택이 돌아가게 하기 위해서 작성하고 있는 프로그램인데요
" Do.......Loop" 문을 사용하여
학생학반과 성명만 선택하면 지금까지 지급된 장학금 지급내역을 ListBox1 에 추가할려고 했는데
해당 학생의 데이터가 여러 개 있습니다만
아무리 해도 1개 밖에 추가되지 않더군요.
(1건설, 고재훈)학생으로 실험해 보면 적어도 4건이상 올라와야 되는데 1건 밖에 올라오지 않습니다.
첫줄이 빈칸으로 생기는 것도 이상하고...
Do
'행(카운트) = 검색.Row
검색결과 = "H" & 검색.Row
ListBox1.AddItem .Range(검색결과).Value
카운트 = 카운트 + 1
Set 검색 = .FindNext(검색)
Loop While Not 검색 Is Nothing And 첫주소 <> 검색.Address
이 부분에서 무슨 문제가 있는 것 같은데 도저히 찾을 수가 없어서 문의를 드리고자 합니다.
지급된 장학금을 학번을 기준으로 검색하는 단계에서 1개 이상 찾지를 못하는 것 같습니다.
에러를 찾기가 쉬운 일이 아니군요.
도와 주십시오.
" Do.......Loop" 문을 사용하여
학생학반과 성명만 선택하면 지금까지 지급된 장학금 지급내역을 ListBox1 에 추가할려고 했는데
해당 학생의 데이터가 여러 개 있습니다만
아무리 해도 1개 밖에 추가되지 않더군요.
(1건설, 고재훈)학생으로 실험해 보면 적어도 4건이상 올라와야 되는데 1건 밖에 올라오지 않습니다.
첫줄이 빈칸으로 생기는 것도 이상하고...
Do
'행(카운트) = 검색.Row
검색결과 = "H" & 검색.Row
ListBox1.AddItem .Range(검색결과).Value
카운트 = 카운트 + 1
Set 검색 = .FindNext(검색)
Loop While Not 검색 Is Nothing And 첫주소 <> 검색.Address
이 부분에서 무슨 문제가 있는 것 같은데 도저히 찾을 수가 없어서 문의를 드리고자 합니다.
지급된 장학금을 학번을 기준으로 검색하는 단계에서 1개 이상 찾지를 못하는 것 같습니다.
에러를 찾기가 쉬운 일이 아니군요.
도와 주십시오.
VBA를 작성하시다가 에러가 나면.. F8을 눌러가면서 한 줄씩 실행해보시는게 좋습니다.
조사식도 추가 하고 debug.print 변수명 을 활용하면 코드 실행을 중단하지 않고 직접실행창에 해당 변수명을 프린트해주지요..
암튼.. 디버깅 팁은 정말 많습니다...
암튼.. ㅎㅎ
아래 코드 대신에,
Set 검색 = .FindNext(검색)
다음 코드를 사용해보세요.
Set 검색 = .Range("a2:a60000").Find(What:=WorksheetFunction.Trim(학번.Text), After:=검색)
Find()가 중간에 What을 날려먹어서, FindNext()가 안 먹힙니다.
그리고 .FindNext(검색) 하시게 되면 ActiveSheet.FindNext 하신꼴이 되어서 안됩니다.
ActiveSheet.Range.FindeNext 꼴이 되어야합니다. 즉 Range부분이 빠진거지요.