엑셀 vba 기초 데이터 검색하기

지난 시간에 이어서 입력되어 있는 데이터 값을 VBA로 검색하여 데이터를 다시 표시하는 방법을 알아보도록 하겠습니다.


예제로 앞 시간에 만들었던 데이터에 버튼을 추가하여 "사원DB"에 있는 자료를 검색하여 표시를 하는 방법입니다.


엑셀 vba 기초 데이터 검색하기


검색 버튼을 하나 만들어 주겠습니다. [개발도구]-[삽입]-[명령 단추]를 클릭하여 버튼을 하나 더 만들어 줍니다.



버튼을 선택하고 오른쪽 마우스를 클릭하여 [매크로 지정]을 클릭합니다.



매크로 지정에서 [새로 만들기]를 클릭합니다.



그러면 이제 vba 편집창이 나타나는데요. 아래 코드를 입력해 줍니다. 아래 코드는 이해하기 쉽게 코드를 만들어 보았습니다.


검색을 하려면 "사원DB"에 들어있는 모든 데이터를 검색하여야 합니다. 그러기 위해서는 먼저 총 데이터가 얼마인지 알아야 하는데요. 우리는 지난 번에 카운타함수를 이용하여 "사원DB"시트에 있는 데이터의 수를 알수있었습니다.



1번. 그래서 c라는 변수를 만들어 "사원DB" 시트에 i1의 총 데이터 값을 C변수에 넣고 

2번. 1부터 C변수 만큼 반복하게 만들어 줍니다.

3번. 반복하는 동안에 검색할 값과 같은 값을 만나게 되면

4번. 사원DB에 있는 데이터를 사원입력 시트에 넣어라는 명령입니다.



위에 코드를 좀 더 간단하게 변경하고 싶으시면 for문을 하나더 사용하시면 되는데요.  위에 코드를 보면 숫자가 하나씩 변경되는 것을 볼 수 있습니다.


변경되는 숫자를 f라는 변수를 이용하여 코드를 더 단순하게 만들 수 있는데요. 이건 for문을 잘 이해하셔야하기 때문에 처음 접하시는 분들은 맨 위에 처음 코드를 먼저 이해하신 다음 해보시길 권장합니다.



사원입력 시트에서 성명에 데이터를 입력하고 [단추 2]를 클릭하면 



데이터가 있을 경우 사원번호에서 부터 주소까지 데이터가 나타납니다.



버튼 이름도 좀 더 보기 좋게 변경해 줍니다. 안에 들어있는 텍스트는 [텍스트 편집]을 클릭하면 변경할 수 있습니다.



버튼 이름을 입력과 검색으로 변경하니 훨씬 보기 좋은 것 같습니다.


예제를 간단한 사원관리 같은 작은 데이터는 바로 엑셀에 입력하고 찾는 것이 더 빠르겠으나 정말 많은 데이터를 활용하시는 분들이시라면 엑셀 vba를 이용하여 활용해 보시는 것도 좋을 것 같습니다.


반응형

댓글

Designed by JB FACTORY