본문 바로가기
 
 
 
카테고리 없음

엑셀에서 다른 시트 값 찾아서 가져오기: 매크로

by mooonstory 2024. 11. 1.

 
반응형

엑셀은 데이터 분석과 관리에 매우 유용한 도구입니다. 그러다 보니 많은 사람들이 매일 사용하게 되는데요. 때때로, 다른 시트에 있는 데이터를 찾아서 가져와야 할 필요가 생기곤 합니다. 이 글에서는 엑셀에서 다른 시트의 값을 찾아 가져오는 매크로를 만드는 법과 그 활용 방안에 대해 알아보겠습니다.

1. 매크로란 무엇인가?

매크로는 반복되는 작업을 자동화하는 기능입니다. 엑셀에서 매크로를 사용하면 일일이 수작업으로 입력해야 하는 번거로움을 줄일 수 있습니다. **이번에는 다른 시트에서 값을 찾아오는 매크로를 작성하는 법을 알아볼까요?** 매크로를 사용하면 시간도 절약하고, 실수 확률도 낮출 수 있습니다.

2. 매크로 활성화하기

엑셀에서 매크로를 사용하기 전에 먼저 매크로를 활성화해야 합니다. 다음 절차를 따라 진행해 보세요:

  • 엑셀 상단 메뉴에서 '파일'을 클릭합니다.
  • '옵션'을 선택한 후, '리본 사용자 지정'을 클릭합니다.
  • '개발 도구' 항목에 체크하여 활성화합니다.

이제 개발 도구 탭에서 매크로 관련 작업을 할 수 있게 됩니다.

3. 매크로 코드 작성하기

이제 본격적으로 매크로 코드를 작성해 보겠습니다. 간단한 예제를 통해 다른 시트에서 데이터를 찾아 가져오는 매크로를 만들어 보겠습니다.

Sub GetValueFromAnotherSheet()
        Dim wsSource As Worksheet
        Dim wsTarget As Worksheet
        Set wsSource = ThisWorkbook.Sheets("Source") ' 데이터가 있는 시트 이름
        Set wsTarget = ThisWorkbook.Sheets("Target") ' 값을 가져올 시트 이름
        
        ' A1 셀의 값 가져오기
        wsTarget.Range("A1").Value = wsSource.Range("A1").Value
    End Sub

이 코드를 통해 “Source” 시트의 A1 셀 값을 “Target” 시트의 A1 셀로 복사할 수 있습니다. **쉽죠?** 원하는 셀 주소를 변경하여 다양한 데이터를 가져올 수 있습니다.

4. 특정 조건에 따른 값 가져오기

가끔은 특정 조건을 만족하는 데이터만 가져와야 할 때도 있습니다. 아래의 코드 예제를 통해 조건부로 값을 가져오는 방법을 알아보겠습니다.

Sub GetConditionalValue()
        Dim wsSource As Worksheet
        Dim wsTarget As Worksheet
        Dim cell As Range
        
        Set wsSource = ThisWorkbook.Sheets("Source")
        Set wsTarget = ThisWorkbook.Sheets("Target")
        
        For Each cell In wsSource.Range("A1:A10") ' A1:A10 범위에서 반복
            If cell.Value > 100 Then ' 조건 설정
                wsTarget.Range("B1").Value = cell.Value
                Exit For ' 첫 번째 조건 만족 시 종료
            End If
        Next cell
    End Sub

위의 코드에서는 A1:A10 범위의 셀 중 값이 100을 초과하는 첫 번째 값을 “Target” 시트의 B1 셀에 복사합니다. **필요에 따라 조건을 변경하세요!**

5. 여러 셀의 값 가져오기

여러 개의 셀에서 값을 가져오는 경우도 흔히 있습니다. 이럴 땐 다음처럼 코드를 작성할 수 있습니다.

Sub GetMultipleValues()
        Dim wsSource As Worksheet
        Dim wsTarget As Worksheet
        Dim i As Integer
        
        Set wsSource = ThisWorkbook.Sheets("Source")
        Set wsTarget = ThisWorkbook.Sheets("Target")
        
        For i = 1 To 10 ' 1부터 10까지 반복
            wsTarget.Cells(i, 1).Value = wsSource.Cells(i, 1).Value ' A열 값 복사
        Next i
    End Sub

이 코드를 사용하면 "Source" 시트의 A1:A10 값을 "Target" 시트의 A1:A10으로 복사합니다. **매우 간단하죠?**

6. 매크로 저장하기


작성한 매크로는 저장해야 나중에 사용할 수 있습니다. 엑셀 파일을 저장할 때는 파일 형식을 반드시 *.xlsm*으로 설정해야 매크로가 포함됩니다. 저장 후에는 언제든지 이 매크로를 불러와 활용할 수 있습니다.

이제 다른 시트에서 값을 찾아 가져오는 매크로에 대한 기본적인 이해가 생기셨길 바랍니다. **매크로를 통해 엑셀 작업을 훨씬 더 효율적으로 진행해 보세요!**

반응형