OfficeTutor.com
배움터 나눔터 교육센터 오튜장터
 통합검색  
  Home > 나눔터 > 엑셀 > 묻고답하기
엑셀
워드
액세스
파워포인트
아웃룩
프런트페이지
인포패스
원노트
비지오
쉐어포인트
포토드로우
퍼블리셔
오피스공통
MVP 안내
MVP 명예의 전당
MVP 카페

 

 

 

 
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 조삿갓 (choga21)

추천:  0
파일:     키워드검색콤보박스.xlsm (26.6KB) 조회:  25
제목:   [RE]vba 자동완성에 관련된 질문을 드리고자합니다..
     
  - 엑셀 버전(95,97,2000,xp,2003,2007): 2013

* 아래줄에 질문을 작성하세요 >>

Sheet2에 있는 동물의 목록을 가지고 Sheet에 콤보박으로 나타내었습니다.

엑셀에서 자동기능으로 앞글자부터 시작했을때는 해당문자와 관련된 단어를 찾아줍니다

하지만 중간 단어부터 검색을하면 검색이 되지않습니다..

그래서 http://egloos.zum.com/longkee/v/1465037 ;여기를 참고하여 작업을 하려고하는데 한계가 있는것 같아 VBA고수분께 도움을 받고싶습니다..
==============[김원호님 글에 대한 답변입니다]==============

문자열 자동완성의 기본 원칙은 왼쪽부터 일치하는 문자열을 찾는 것이 당연합니다. 이 원칙이 무너지게 되면 오히려 곤란한 상황일 발생할 수 있지요.

말씀하신 기능을 구현하려면 목록 선택용 콤보상자나 리스트상자와 별개로, 키워드 검색창(텍스트상자 또는 직접 셀을 사용해도 무방)에 입력한 키워드에 따라 목록을 필터링해 주어야 할 것입니다.

붙임 파일을 참고하시기 바랍니다.
두 가지 방법을 모두 구현하였습니다.

B2 셀이나 또는 C2에 있는 텍스트상자에 검색 문자열을 입력하고
콤보박스를 열면 그 때 그 때 필터링된 목록이 보입니다.
검색창을 비워두면(널문자열), 전체 리스트가 목록 구성되고
검색창에 입력한 문자열을 포함하는 목록만 구성됩니다.

셀 자체를 검색창으로 활용할 경우에는 Worksheet_Change 이벤트를
텍스트박스 콘트롤을 활용할 경우에는 TextBox1_LostFocus 이벤트를 이용하면 됩니다.

TextBox1_Change 이벤트의 경우에는 상자 안에 키보드를 한 글자씩 타이핑할 때마다 자꾸 이벤트가 발생해서 비효율적입니다.
LostFocus는 영어 단어의 의미대로, 입력을 완성하고 다른 셀이나 다른 개체를 선택하는 순간 이벤트가 발생합니다.
 
[불량 게시물 신고]  
김원호감사합니다 많은 도움이 되었습니다.10-11 (21:49)
삭제 ■신고
        
  

작성일 : 2017-10-11(18:25)
최종수정일 : 2017-10-11(18:32)
 


 ◎ 관련글

  제 목   작성자   날짜
vba 자동완성에 관련된 질문을 드리고자합니다.. 김원호 2017-10-11
[RE]vba 자동완성에 관련된 질문을 드리고자합니다.. 조삿갓 2017-10-11

 
 
회사소개 | 이용약관 | 개인정보 처리방침 | 회원정보수정 | 교육신청 및 문의 | 이메일무단수집거부 위로

오피스튜터 블로그 오피스튜터페이스북 오피스튜터유투브
110-722 서울 종로구 세종대로23길 47, 601-74 ㈜오피스튜터 ☎1544-4102 대표이사 : 전경수
개인정보관리책임자 : 이희진(privacy@officetutor.com) 사업자등록번호 120-86-14501
통신판매업신고 2013-서울종로-0547
norton
Copyright ⓒ OfficeTutor.com 이 페이지의 저작권은 ㈜오피스튜터와 콘텐츠 제공자에게 있습니다. 무단 복제를 금합니다.
Microsoft 및 Office 로고는 미국, 대한민국 및/또는 기타 국가에서의 Microsoft Corporation 등록 상표 또는 상표입니다.