본문 바로가기

엑셀VBA/VBA 기본

엑셀 매크로 VBA - FOR 문 사용

VBA For문으로 반복 작업 자동화하기

 

엑셀에서 반복적으로 처리해야 할 데이터 작업이 많으신가요? 이럴 때 VBA의 For문을 활용하면 간단한 코드로 대량의 데이터를 효율적으로 처리할 수 있습니다. 오늘은 실무에서 유용하게 쓸 수 있는 For문 활용 방법과 간단한 예제를 소개합니다.


For문이란?

For문은 특정 범위 안에서 반복 작업을 수행하는 VBA의 기본 구조입니다. 주로 데이터를 순차적으로 처리하거나, 셀에 값을 입력하는 데 활용됩니다.

For문의 기본 구조

 
For 변수 = 시작값 To 끝값
    ' 실행할 코드
Next 변수
Sub SimpleForLoop()
    Dim i As Integer
    For i = 1 To 10
        Debug.Print "숫자: " & i
    Next i
End Sub

예제: 빈 셀에 기본값 입력하기

상황

엑셀의 특정 열(B열)에 빈 셀이 포함된 데이터를 관리할 때, 빈 셀을 "N/A"로 자동 채우고 싶다면 For문을 활용할 수 있습니다.

코드

Sub FillEmptyCells()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long

    ' 데이터가 있는 시트 설정
    Set ws = ThisWorkbook.Sheets("Sheet1")
    lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row ' B열의 마지막 행 찾기

    ' B열의 빈 셀을 반복적으로 확인 후 "N/A" 입력
    For i = 2 To lastRow
        If IsEmpty(ws.Cells(i, 2).Value) Then
            ws.Cells(i, 2).Value = "N/A"
        End If
    Next i

    MsgBox "빈 셀이 모두 채워졌습니다!", vbInformation
End Sub

코드 설명

  1. 마지막 행 찾기 이 코드는 B열의 마지막 데이터를 포함한 행 번호를 찾습니다. 
lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row

 

2.  For문으로 반복 처리

For i = 2 To lastRow
    If IsEmpty(ws.Cells(i, 2).Value) Then
        ws.Cells(i, 2).Value = "N/A"
    End If
Next i

 2행부터 마지막 행까지 반복하며 빈 셀을 "N/A"로 채웁니다.

 

3.작업 완료 메시지 

MsgBox "빈 셀이 모두 채워졌습니다!", vbInformation

실행 결과를 사용자에게 알립니다.


응용 방법

  • 다중 열의 빈 셀 처리: 여러 열의 빈 셀을 한꺼번에 채우는 코드로 확장 가능.
  • 조건부 값 입력: 특정 조건에 따라 빈 셀을 다르게 채우는 방법 적용.

마무리

For문은 VBA에서 반복 작업을 자동화하는 가장 기본적이면서도 강력한 도구입니다. 이번 예제처럼 간단한 작업부터 데이터 분석 및 관리까지 다양한 작업에 활용할 수 있습니다.
지금 바로 For문을 활용해 업무 시간을 절약해 보세요!

궁금한 점이 있다면 댓글로 남겨주세요! 😊