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

엑셀 조건에 맞는 행 전체 가져 오기 VBA 및 활용 예제

by mooonstory 2024. 2. 16.

 
반응형

소개

엑셀에서 특정 조건에 따라 특정 행을 필터링하고 가져오는 것은 데이터 분석이나 보고서 작성 등에 매우 유용합니다. VBA(Virtual Basic for Applications)를 사용하면 이러한 작업을 자동화할 수 있습니다. 이 글에서는 엑셀에서 조건에 맞는 행을 가져오는 방법과 VBA를 사용한 활용 예제를 소개하겠습니다.

조건에 맞는 행 가져오기


엑셀에서 조건에 맞는 행을 가져오기 위해서는 다음과 같은 단계를 따를 수 있습니다.

  1. 조건에 맞는 데이터가 있는 행을 필터링합니다.
  2. 필터링된 행을 선택한 후 복사합니다.
  3. 다른 시트나 워크북에 붙여넣기를 합니다.

이러한 작업을 VBA로 자동화하면 편리하게 사용할 수 있습니다.

예제

예제 1: 숫자 조건에 맞는 행 가져오기

VBA를 사용하여 엑셀에서 숫자 조건에 맞는 행을 가져오는 예제입니다.

Sub GetRowsByNumberCondition()
    Dim ws As Worksheet
    Dim rng As Range, cell As Range
    Dim condition As Integer
    
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    Set rng = ws.Range("A1:A10") '조건을 확인할 열 선택
    condition = 5 '조건값 설정
    
    For Each cell In rng
        If cell.Value = condition Then
            cell.EntireRow.Copy Destination:=ThisWorkbook.Worksheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
        End If
    Next cell
End Sub

예제 2: 텍스트 조건에 맞는 행 가져오기

VBA를 사용하여 엑셀에서 텍스트 조건에 맞는 행을 가져오는 예제입니다.

Sub GetRowsByTextCondition()
    Dim ws As Worksheet
    Dim rng As Range, cell As Range
    Dim condition As String
    
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    Set rng = ws.Range("A1:A10") '조건을 확인할 열 선택
    condition = "Apple" '조건값 설정
    
    For Each cell In rng
        If cell.Value = condition Then
            cell.EntireRow.Copy Destination:=ThisWorkbook.Worksheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
        End If
    Next cell
End Sub


  • 조건에 맞는 행을 다른 시트 대신 다른 워크북에 붙여넣고 싶다면 해당 워크북을 열고 VBA 코드에서 대상 시트를 지정하면 됩니다.
  • 추가적인 조건을 포함하여 가져오길 원한다면 if 문을 수정하여 원하는 조건을 추가하세요.
  • VBA 코드를 실행하는 방법은 여러 가지가 있으며, 개발자 탭을 표시하고 마크로를 실행하거나 단축키를 사용할 수 있습니다.

결론

VBA를 사용하여 엑셀에서 조건에 맞는 행을 가져오는 방법을 알아보았습니다. 이를 통해 데이터 분석이나 보고서 작성 등에 매우 유용하게 활용할 수 있습니다. 다양한 조건에 맞게 코드를 수정하고 실험해보면 원하는 결과를 얻을 수 있을 것입니다. VBA에 익숙해지면 엑셀 작업의 자동화에 큰 도움이 될 것입니다.

반응형