나만의공간

📘 엑셀 고급 강의 14‑2. VBA 변수 활용 및 사용자 상호작용 입력 처리 본문

Excel/고급

📘 엑셀 고급 강의 14‑2. VBA 변수 활용 및 사용자 상호작용 입력 처리

밥알이 2025. 8. 16. 07:48

📘 엑셀 고급 강의 14‑2. VBA 변수 활용 및 사용자 상호작용 입력 처리

이번 소주제에서는 VBA에서 **변수를 효율적으로 활용**하는 방법과, **InputBox와 MsgBox를 이용한 사용자 입력 및 메시지 안내 기능**을 실습합니다. 실무에서는 입력창과 확인창을 통해 매크로 흐름을 제어하거나 정보를 안내하는 구조가 매우 유용합니다.


1. 변수 선언 및 InputBox 활용 예시

Option Explicit

Sub InputExample()
    Dim userInput As String
    Dim num As Integer
    
    userInput = InputBox("합산할 숫자 입력:")
    If userInput = "" Then
        MsgBox "입력이 취소되었습니다."
        Exit Sub
    End If
    
    num = Val(userInput)
    MsgBox "입력하신 숫자는 " & num & " 입니다."
End Sub
  • InputBox로 입력받은 값을 문자열 변수 userInput에 저장
  • 문자열 → 숫자 변환: Val() 함수 사용
  • 사용자가 입력을 취소할 경우 메시지 안내 및 중단 처리 포함

2. 사용자 범위 선택 기반 합계 계산

Sub SumRange()
    Dim rng As Range
    Dim total As Double
    
    Set rng = Application.InputBox("합할 범위를 선택하세요", Type:=8)
    If rng Is Nothing Then
        MsgBox "범위 선택이 취소되었습니다."
        Exit Sub
    End If
    
    total = Application.WorksheetFunction.Sum(rng)
    MsgBox "선택한 범위의 총합은 " & total & " 입니다."
End Sub
  • InputBox의 Type:=8 옵션을 통해 사용자로부터 셀 범위 입력 받기
  • 범위를 선택하지 않을 경우 메시지 안내 및 코드 종료 처리
  • 선택한 범위를 합산하여 MsgBox로 결과 출력

3. 사용자 확인 메시지와 흐름 제어

Sub ConfirmDelete()
    Dim resp As Integer
    resp = MsgBox("이 데이터를 삭제하시겠습니까?", vbYesNo + vbQuestion, "삭제 확인")
    
    If resp = vbYes Then
        ' 데이터 삭제 로직 수행
        MsgBox "데이터가 삭제되었습니다."
    Else
        MsgBox "삭제가 취소되었습니다."
    End If
End Sub
  • MsgBox를 사용해 사용자에게 Yes/No 선택을 받고 흐름 제어
  • 실무에서 삭제, 저장, 편집 등의 확인 절차에 자주 활용

4. 실무 팁 및 주의사항

  • InputBox 취소 시 리턴 값이 빈 문자열이므로 반드시 예외 처리 포함
  • MsgBox 메시지는 시각적으로 명확하고 간결하게 작성
  • 변수 선언 시 자료형 지정 (Long, Double, String 등)을 명확히 설정
  • Option Explicit 선언을 통한 변수 오타 및 타입 오류 방지

5. 요약 정리

  • ✅ InputBox와 MsgBox를 활용하면 사용자와 상호작용하는 유연한 매크로 구성 가능
  • ✅ 범위선택, 숫자 입력, 확인 메시지 흐름을 변수 기반으로 안정적으로 처리할 수 있습니다
  • ✅ 변수 선언, 예외 처리, 명확한 메시지 작성은 안정성과 가독성을 높이는 핵심 요소입니다

 

Comments