VBA FIND를 통해서 일치하는 값 찾을때까지 검색 후 만약에 없으면 해당셀에 찾는값 없음 넣기

VBA
작성자
고바마
작성일
2022-11-28 11:02
조회
4566
엑셀버전 : 엑셀2013

운영체제 : 윈도우10

질문 요약 : VBA FIND 함수를 통해서 원하는 데이터를 찾아서 MAIN시트에 값을 넣고 중복된 값에서는 조건일 일치할때까지 찾고 없으면 없음 기재

안녕하세요. VBA로 MAIN시트에 데이터 값을 찾아 넣는 코드를 짜고있습니다.

[MAIN]시트에 기준값을 통해서 SHEET1, SHEET2, SHEET3, SHEET4, SHEET5를 순회하면서 값을 찾고 만약 값이 없으면 값없음 이라는 값을 해당 셀에 넣어주고 싶은데 뭐가 잘못된건지 무한 루프를 돌고있습니다.

아래와 같이 코드를 작성하였습니다. 제가 첨부파일을 올려드리고 싶지만 회사 내부 대외비 때문에 이런식으로 올려드리는 점 양해부탁드립니다.

요약해드리자면

  1. MAIN시트에있는 특정 값을 Sheet1~5까지 순회하면서 일치하는 값을 찾는다.
  2. 일치하는 값을 찾으면 해당 행의 특정 셀을 다시 비교하여 일치하면 일치한 값을 [MAIN]시트에 원하는 셀위치에 넣는다.
  3. 만약 1차로 찾은 값에서 2차로 검증해야될 셀의 값이 같지않으면 다음 값을 찾아서 비교하여 같을 때까지 찾는다.
  4. 같은 값이 없다면 해당데이터의 행에 "찾는값 없음" 이라고 넣어준다.
  5. 원하는 값이 같다면 입력하고 같지않다면 같은거 나올때까지 찾고 같은 값나오면 입력하고 끝까지 같은 값이 없으면 "값없음"입력

두서없이 말씀드려서 죄송합니다. 제가 계속 돌려봐도 무한루프에 걸려서 매크로 실행시 엑셀이 먹통이 되버리는것 같습니다.

혹시 제 코드에 문제 있으면 문제점좀 조언부탁드립니다.

For Each r In rngMain.Offset(1,6)                                                   '[MAIN]의 열(이름) 전체영역 각셀 r변수 담아 순환
With Sheets(2).UsedRange                                                           '[Sheet2] 사용영역 전체
Set rFind = rngSheet5.Offset(1,2).Find(what:=rngC, lookat:=xlWhole)     '[Sheet5]에서 일치하는 데이터찾아 rFind에 넣고

If Not rFind Is Nothing Then                                                        '만일 일치하는 데이터가 있으면(찾은 값이 있으면)
strAddr = rFind.Address                                                              '일치한 셀의 주소를 변수에 넣음

Do
If r.Offset(0,-5).value = rFind.Next Then                 ' 찾고자하는 값 (MAIN)과 (sheet5)에서 찾은값과 비교해서 일치한다면
r.Offset(0,-4).value = rFind.Offset(0,4).value        ' sheet5에 특정 값을 main시트의 위치에 값을 넣아라
Exit Do                                                          'loop를 빠져나감
Else
Set rFind = rngSheet5.Offset(1,2).FindNext(C)         '다음 일치하는 데이터를 찾고
If Not rFInd Is Nothing Then                              '만일 일치하는 데이터가 있으면
r.Offset(0,-4).value = rFind.Offset(0,4).value
Exit Do                                                          'loop를 빠져나감
End If
End If
Loop While Not rFind Is Nothing And strAddr <> rFind.Address
'일치하는 데이터 없을때까지, 처음 찾은 주소가 아닐때까지 반복
End If

Next r

신고
스크랩
공유
전체 3

  • 2022-11-28 20:08

    @고바마 님 첨부 파일을 이용하여 customizing해 보세요.

    첨부파일 : FIND함수-이용-시트간-검색.xlsm


    • 2022-11-30 15:37

      @김재규 님 감사합니다 참고하여 제 데이터에 맞춰서 해결 하였습니다! 감사합니다! 제가 워낙..실력이없어서 제 기준에서 될것같은데 하는 코드로 계속 입력해서 짜다보니깐 ...ㅠㅠ 힘드네요 정말 선생님 덕분에 감사합니다.


    • 2024-02-11 00:24

      @김재규 님 @김재규 님, @고바마 님,

      김재규님께서 올려주신 첨부파일을 다운받아서 실행해보니, 서울과 대전은 제대로 나오는데, 희안하게도 다른 7개 도시(대구, 부산, 수원, 울산, 인천, 전주, 춘천)들은 ''91' 런타임 오류가 발생하였습니다: 개체 변수 또는 With 문의 변수가 설정되어 있지 않습니다.'라는 오류 창이 뜹니다. 왜 그럴까요? 저만 그러나요? 아무튼 그 오류 창의 '디버그(D)' 버튼을 눌렀더니, 'strFirstAdrs = rFind.Address' 여기를 가리키네요?

      Sheet1~5 데이타 가운데 대전과 서울의 '붉은고추' 6개가 '붉은고추 '로 되어있어서 '일치되는 자료 없음' 창이 떴지만, 공백을 제거하니까 제대로 나왔고요. 대전의 '딸기, 땅콩, 바나나, 오이'는 데이타가 없으니까 당연히 '일치되는 자료 없음' 창이 뜨는 게 맞겠고요.

      왜 서울과 대전을 제외한 다른 도시들은 데이타가 제대로 되어있는 것같은데, 'strFirstAdrs = rFind.Address'를 디버깅하라고 그럴까요?


전체 18,480
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
오빠두엑셀 | 2022.02.03 | 추천 573 | 조회 601695
오빠두엑셀 2022.02.03 573 601695
공지사항 문서서식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (197)
오빠두엑셀 | 2021.10.28 | 추천 310 | 조회 35053
오빠두엑셀 2021.10.28 310 35053
78443 함수/공식
New 조건 맞는 값 찾기 엑셀파일첨부파일 (13)
박상선 | 2025.04.30 | 추천 0 | 조회 82
박상선 2025.04.30 - 82
78441
New 표와 글씨가 깨짐 엑셀파일 (4)
뚜껑 | 2025.04.30 | 추천 0 | 조회 57
뚜껑 2025.04.30 - 57
78440 문서서식
New 셀 사용자지정서식 10.0억 표시 방법 (1) 답변완료
은철이 | 2025.04.30 | 추천 0 | 조회 58
은철이 2025.04.30 - 58
78436 기능/도구
New 파워포인트 내 엑셀시트의 리본메뉴 활성화방법은? (2)
기분좋은하루 | 2025.04.30 | 추천 0 | 조회 67
기분좋은하루 2025.04.30 - 67
78431 VBA
New IF 조건문 기초 질문 드립니다. 첨부파일 (5) 답변완료
neoburi | 2025.04.30 | 추천 0 | 조회 127
neoburi 2025.04.30 - 127
78428 기능/도구
New 보이는 범위의 셀로만 붙여넣기하는 법 첨부파일 (2)
유도연 | 2025.04.29 | 추천 0 | 조회 124
유도연 2025.04.29 - 124
78424 함수/공식
New 생년월일 6자리로 나이 계산 어떻게 하나요? (8)
망나 | 2025.04.29 | 추천 0 | 조회 131
망나 2025.04.29 - 131
78421 함수/공식
New INDEX + MATCH 함수 문의 (2)
박상선 | 2025.04.29 | 추천 0 | 조회 128
박상선 2025.04.29 - 128
78420 함수/공식
New 여러시트 중에 같은내용을 찾기 엑셀파일첨부파일 (1)
박석철 | 2025.04.29 | 추천 0 | 조회 94
박석철 2025.04.29 - 94
78419 문서서식
New 크기가 다른 셀에서의 필터 걸기 부탁드립니다 ! 첨부파일 (3) 답변완료
Aberdeen | 2025.04.29 | 추천 0 | 조회 83
Aberdeen 2025.04.29 - 83
78418 함수/공식
New [퀴즈] 텍스트 압축/변형하기 엑셀파일첨부파일 (12) 답변완료
마법의손 | 2025.04.29 | 추천 0 | 조회 176
마법의손 2025.04.29 - 176
78416 VBA
New 시트보호된 상태에서 매크로 작동시 Range 클래스 중 Insert 메서드에 오류가 있습니다. 첨부파일 (1)
jihye**** | 2025.04.29 | 추천 0 | 조회 70
jihye**** 2025.04.29 - 70
78414 파워쿼리/피벗
New 다른 엑셀 파일에서 필요한 값만 불러오는 방법 첨부파일
망그러진나나 | 2025.04.29 | 추천 0 | 조회 80
망그러진나나 2025.04.29 - 80
78413 함수/공식
New 경과주 구하는 수식 문의 (1)
엑셀렙업용 | 2025.04.29 | 추천 0 | 조회 78
엑셀렙업용 2025.04.29 - 78
78411 문서서식
New 숫자 문자인식 숫자변환하는 법 엑셀파일 (5)
패션피플 | 2025.04.29 | 추천 0 | 조회 90
패션피플 2025.04.29 - 90
78410 VBA
New [매크로관련] 특정셀 자동증가하며, 연속출력할수 있을까요? 엑셀파일 (5) 답변완료
박병호 | 2025.04.29 | 추천 0 | 조회 106
박병호 2025.04.29 - 106
78408 문서서식
New 숫자 서식 변경하기 첨부파일 (3) 답변완료
에그셀 | 2025.04.29 | 추천 0 | 조회 82
에그셀 2025.04.29 - 82
78407 기능/도구
New 원드라이브 MICROSOFT 365 사용중 공동작업시 필터 첨부파일 (1)
록키발보아 | 2025.04.29 | 추천 0 | 조회 70
록키발보아 2025.04.29 - 70
78402 함수/공식
New 괄호안의 시간:분 데이터를 분으로 합산하는 방법 질문드립니다. 엑셀파일첨부파일 (1) 답변완료
nams | 2025.04.28 | 추천 0 | 조회 84
nams 2025.04.28 - 84
78400 함수/공식
New 2차배열에서 countif 첨부파일 (9) 답변완료
라면이가좋아 | 2025.04.28 | 추천 0 | 조회 109
라면이가좋아 2025.04.28 - 109
78399 함수/공식
New 한달의 마지막주 스케쥴 작성시 전주까지의 휴무 누적 합계 구하는 방법이 궁금합니다. 엑셀파일첨부파일 (3)
쭈누 바라기 | 2025.04.28 | 추천 0 | 조회 72
쭈누 바라기 2025.04.28 - 72
78398 VBA
New VBA 매크로 여러 엑셀 파일에서 사용 (1)
shhhha | 2025.04.28 | 추천 0 | 조회 102
shhhha 2025.04.28 - 102
78396 함수/공식
New 직원별로 근태 합계를 확인하고 싶어요 엑셀파일 (12) 답변완료
배진희 | 2025.04.28 | 추천 0 | 조회 135
배진희 2025.04.28 - 135
78395 함수/공식
New 특정 단어를 포함한 행 골라내는 방법에 대해 문의드립니다. (3) 답변완료
mmm1010 | 2025.04.28 | 추천 0 | 조회 95
mmm1010 2025.04.28 - 95
78392 함수/공식
New 도와주세요... ( 특정값에 해당하는 반 번호 찾아 목록만들기) 엑셀파일첨부파일 (6)
김동생 | 2025.04.28 | 추천 0 | 조회 103
김동생 2025.04.28 - 103
78389 기능/도구
New 오빠두LIVE 196회 - 엑셀 프로젝트 관리 _ 일,주 바꾸는법 엑셀파일 (1)
일류 | 2025.04.28 | 추천 0 | 조회 91
일류 2025.04.28 - 91
78387 함수/공식
New 엑셀 관련 질문입니다. SUM과 IFERROR 입니다 ㅠ (6)
| 2025.04.27 | 추천 0 | 조회 135
2025.04.27 - 135
78382
New Excel 추세선 이상 엑셀파일 (2)
eagle | 2025.04.27 | 추천 0 | 조회 108
eagle 2025.04.27 - 108
78381 함수/공식
New 같은 이름 N 번째 데이터 엑셀파일첨부파일 (14) 답변완료
박정호 | 2025.04.27 | 추천 1 | 조회 142
박정호 2025.04.27 1 142
78380 함수/공식
New On Error Resume Next 문구를 삽입하는 위치는? (2) 답변완료
GEEM | 2025.04.27 | 추천 0 | 조회 112
GEEM 2025.04.27 - 112