본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 엑셀

엑셀 VBA를 이용한 데이터 검색 자동화하기

by 포탈메이커 2023. 6. 26.

엑셀 VBA를 이용한 데이터 검색 자동화하기

엑셀은 대량의 데이터를 다루는 데 있어서 매우 유용한 도구 중 하나입니다. 그러나 데이터가 방대하다면, 원하는 정보를 찾는 데 시간이 많이 걸릴 수 있습니다. 이를 위해 VBA(Visual Basic for Application)를 사용하여 엑셀에서 원하는 데이터를 자동으로 검색해보겠습니다.

 

칼퇴키트 바로가기

 

칼퇴키트, 업무용 도구모음

칼퇴를 위해 꼭 필요한 도구 모음을 제공합니다. 당장의 업무에 필요한 순간 사용하는 가벼운 메모장, 계산기, 변환기 등

portalmaker.backtohome.kr

1. 검색할 데이터 입력하기

먼저, 검색할 데이터를 입력하는 과정부터 시작해봅시다. 엑셀 시트의 A2 셀에 검색할 내용을 입력합니다.


2. 검색할 범위 지정하기

다음으로 검색 대상 범위를 지정합니다. 예를 들어, 데이터가 "Sheet1" 시트의 A1부터 E1000까지 있다면 다음과 같이 범위를 지정할 수 있습니다.

Set SearchRange = Sheets("시트1").Range("A1:E1000")

3. 반복문을 이용하여 검색하기

이제 검색을 실행할 수 있는 반복문을 만들어보겠습니다. 반복문을 통해 지정한 범위 내에서 검색할 데이터와 일치하는 값을 찾아낼 수 있습니다.

For Each cell In SearchRange
    If InStr(cell.Value, SearchValue) > 0 Then
        MsgBox ("찾은 셀: " & cell.Address)
    End If
Next cell

위의 코드에서 InStr 함수는 검색 대상 셀의 값을 검색할 값(SearchValue)과 비교하여 일치하는 위치를 찾아내는 함수입니다. 만약 일치하는 값이 있다면, 해당 셀의 주소를 출력합니다.


4. 전체 코드

이제 전체 코드를 살펴보겠습니다. 아래 코드는 위에서 설명한 세 가지 단계를 포함하고 있습니다.

Sub 데이터검색()
    Dim SearchValue As String
    Dim SearchRange As Range
    Dim cell As Range

    '검색할 내용 입력
    SearchValue = Sheets("Sheet1").Range("A2").Value

    '검색 대상 범위 지정
    Set SearchRange = Sheets("Sheet1").Range("A1:E1000")

    '반복문을 이용하여 검색 실행
    For Each cell In SearchRange
        If InStr(cell.Value, SearchValue) > 0 Then
            '검색 결과가 일치하는 경우, 해당 셀 출력
            MsgBox ("찾은 셀: " & cell.Address)
        End If
    Next cell
End Sub

5. 실행하기

코드를 작성한 후, F5 키를 누르거나 "매크로 실행" 버튼을 클릭하여 코드를 실행합니다. 이제 엑셀은 검색할 데이터를 찾아내서 일치하는 셀의 주소를 출력할 것입니다.


6. 마치며

위에서 설명한 코드를 참조하여, 엑셀에서 데이터를 자동으로 검색하는 방법을 알아보았습니다. 엑셀 VBA를 사용하면, 데이터 전처리 과정에 소요되는 시간을 크게 줄일 수 있습니다. 이를 기반으로 연구한 결과, 데이터 처리 기술의 개발을 더욱 가속화할 수 있을 것입니다.



포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!

행복한 하루 되세요!