나만의공간

📘 엑셀 고급 강의 13‑3. VBA 매크로 편집 실습: 변수 사용 및 조건문 적용 본문

Excel/고급

📘 엑셀 고급 강의 13‑3. VBA 매크로 편집 실습: 변수 사용 및 조건문 적용

밥알이 2025. 8. 15. 07:40

📘 엑셀 고급 강의 13‑3. VBA 매크로 편집 실습: 변수 사용 및 조건문 적용

이번 소주제에서는 VBA 매크로 코드를 직접 편집해 **변수 선언과 조건문, 반복문**을 활용하는 방법을 실습합니다. 실무에서는 녹화된 코드에서 특정 조건이나 동작을 제어하거나 반복 작업을 자동화할 경우가 많습니다. 그 과정을 단계별로 따라 배우세요.


1. 변수 선언 및 사용

  • Dim i As Integer, Dim rng As Range 등 변수를 선언하여 코드 가독성과 유지보수성 향상
  • 예: 셀 반복 처리 시 고정 값 대신 변수로 처리 → 아래처럼 간단화 가능:
    Dim totalRows As Long  
    totalRows = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row  
    For i = 2 To totalRows  
      Set rng = Sheets("Sheet1").Range("A" & i)  
      ' 작업 수행  
    Next i
        

2. 조건문 (If…Then…Else) 적용

  • 매출액이 특정 기준 이상일 때 서식 설정 또는 메시지 출력 구조:
    If Sheets("Sheet1").Cells(i, "B").Value > 150000 Then  
      Sheets("Sheet1").Cells(i, "C").Value = "우수"  
    Else  
      Sheets("Sheet1").Cells(i, "C").Value = "일반"  
    End If
        
  • 복잡한 조건은 AND 또는 OR 연산자 사용 가능
    If score >= 80 And score < 90 Then  
      grade = "B"  
    End If
        

3. 반복문 활용 – For Each 및 For 루프

  • 예: 특정 범위(rngRange) 내 셀을 반복하며 값 검사:
    For Each cell In rngRange  
      If cell.Value < 0 Then  
        cell.Interior.Color = vbRed  
      End If  
    Next cell
        
  • Worksheets 또는 파일 리스트를 반복하는 루프 활용도 가능:
    For Each ws In ThisWorkbook.Worksheets  
      ' 반복 작업  
    Next ws
        

4. 실무 예제 – 전사 보고서 자동 처리

  1. 월별 시트(예: “2025‑01”, “2025‑02” 등) 각각에서 매출 요약 셀에 조건부 값 삽입 (예: 매출 > 200,000인 셀에 색 강조)
  2. 루프 구조:
    For Each ws In ThisWorkbook.Worksheets  
      If ws.Name Like "2025-*" Then  
        ' 총 매출 계산 및 조건 적용  
      End If  
    Next ws
        
  3. 조건별 카테고리 결과를 새로운 요약 시트에 정리하는 코드 구조 구성

5. 실무 팁 및 주의사항

  • 코드 내 주석(`'Comment`)을 충분히 활용하여 흐름 이해 강화
  • 변수 선언 시 반드시 `Option Explicit` 선언하여 오타 방지 및 오류 최소화
  • 중복 `Select` 또는 `Activate`는 가능한 `Set` 또는 직접 객체 참조 방식으로 대체
  • 디버그 모드에서 `F8` 단계 실행으로 코드 흐름 확인 → 오류 포인트 파악에 유리

6. 요약 정리

  • ✅ VBA 변수, 조건문, 반복 구조를 활용하면 매크로 자동화를 확장하고 제어할 수 있습니다.
  • ✅ 복잡한 반복 작업이나 조건별 처리 작업도 코드 구조로 단순화 가능
  • ✅ 코드 주석, `Option Explicit`, 루프 최적화 등 유지보수성 높은 코딩 습관이 중요합니다.
Comments