엑셀 VBA #42 / Find메서드_기본 [VBA]
예시1.
B-1제품코드의 판정값 불러오기....
For~Next구문 혹은 For Each~Next구문 사용해도 되나, 자료가 방대한 경우 속도가 느려질 수 있음.
Dim rng As Range, cf As Range
Set rng = Range("A2", Cells(Rows.Count, "A").End(xlUp))
Set cf = rng.Find(Range("D2").Value, , , xlWhole)
'cf는 rng영역 중에서 D2셀과 같을 가지는 셀의 주소 임
Range("E2") = cf.Offset(, 1)
' 'Range("E2") = cf.Offset(, 1).value' 로 해도 동일한 결과가 나오네.......
예시2
Dim rng As Range, cf As Range
Set rng = Range("A2", Cells(Rows.Count, "A").End(xlUp))
Set cf = rng.Find(Range("D2").Value, , , xlWhole)
Range("E2").ClearContents
If Not cf Is Nothing Then
Range("E2") = cf.Offset(, 1)
Else
MsgBox "해당되는 제품코드가 없습니다."
End if
Find 함수
Find 함수는 엑셀에서 데이터가 일치하거나, 또는 부분일치하는 값을 찾는 VBA 메서드(함수)이다. Find 함수의 기본 사용법은 아래와 같다.
※ 사용법
셀 범위(Range).Find(What:=찾을 값,Lookat:=xlWhole)
-. Lookat:= xlWhole 일 경우 찾을 값과 전체 일치하는 값을 찾음
Lookat:= xlPart는 부분적으로 일치해도 값을 찾은 것으로 인식
-. 참고로 Find는 값을 찾는다고 설명하였지만 Range 의 형식을 갖는다.(아래에서 설명)
출처: https://ybworld.tistory.com/75 [투손플레이스:티스토리]
https://www.youtube.com/watch?v=tx7vfkhg0xU&list=PLfxvqpVCYZ8e0qlyc_FU46neoWjO7yTWj&index=42
'엑셀로 풀어가는 세상' 카테고리의 다른 글
엑셀 VBA #46 / Replace 메서드 [VBA] - 유령문자 (0) | 2023.12.15 |
---|---|
엑셀 VBA #45 / Find메서드_변형3 [VBA] - 중복표시 (0) | 2023.12.15 |
엑셀 VBA #44 / Find메서드_변형2 [VBA] - 역방향으로 찾기 (0) | 2023.12.15 |
엑셀 VBA #43 / Find메서드_변형1 [VBA] (0) | 2023.12.15 |
엑셀 VBA #41 / 행 삭제_개선2 [VBA] - 배열 (0) | 2023.12.15 |
엑셀 VBA #40 / 행 삭제_개선1 [VBA] - Union (0) | 2023.12.14 |
엑셀 VBA #39 / 행삭제_기본 [VBA] (0) | 2023.12.14 |
엑셀 VBA #37 / 행삽입_변형 [VBA] (0) | 2023.12.14 |