2022년 8월 12일 금요일

[VBA] findNext 에러 제어

 vba에서 find 함수를 찾는데 이어서 찾기 위해 findnext를 쓴다.

하지만 더 이상 찾는 데이터가 없으면 에러이다.

이 경우 에러를 뱉고 프로그램이 멈추기 때문에 따로 처리가 필요하다.

아래와 같음

1
2
3
4
5
6
7
8
9
Dim wb As Excel.Workbook, oRange As Range
' FindNext 함수의 에러가 발생할 수 있으므로 객체에 넣는다
' find 구문 있어야함 (생략)
 
Set oRange = wb.Worksheets(i).Cells.FindNext(After:=ActiveCell) ' 다음 데이터가 없으면 oRange값은 Nothing이 
 
If Not oRange Is Nothing Then
    ' FindNext가 정상일 경우 처리
End If