Excel VBA - 엑셀 개체 모델

2025. 3. 9. 12:58Microsoft Excel

728x90
반응형
SMALL
Excel

 
 

엑셀 함수 시리즈 #37: VBA 엑셀 개체 모델 - 엑셀 제어의 핵심

VBA(Visual Basic for Applications)에서 엑셀 개체 모델은 엑셀의 다양한 요소(워크시트, 셀, 범위, 차트 등)를 프로그래밍 방식으로 제어하는 데 필수적인 개념입니다. 엑셀 개체 모델을 이해하면 VBA 코드를 통해 엑셀의 기능을 더욱 다양하게 활용하고 자동화할 수 있습니다. 이번 글에서는 VBA 엑셀 개체 모델의 기본 개념과 주요 개체 사용 방법을 알아보겠습니다.

1. 엑셀 개체 모델이란?

엑셀 개체 모델은 엑셀 응용 프로그램의 구성 요소를 계층 구조로 나타낸 것입니다. 최상위 개체는 Application이며, 그 아래에 Workbook, Worksheet, Range, Chart 등의 개체가 있습니다.

2. 주요 엑셀 개체

  • Application: 엑셀 응용 프로그램 자체를 나타냅니다.
    • 예: Application.Visible = True (엑셀 창을 보이게 함)
  • Workbook: 엑셀 통합 문서(파일)를 나타냅니다.
    • 예: ThisWorkbook.Sheets("Sheet1").Activate (현재 통합 문서의 "Sheet1" 워크시트를 활성화)
  • Worksheet: 워크시트를 나타냅니다.
    • 예: Sheets("Sheet1").Range("A1").Value = "Hello" ("Sheet1" 워크시트의 A1 셀에 "Hello" 입력)
  • Range: 셀 또는 셀 범위를 나타냅니다.
    • 예: Range("A1:B10").ClearContents (A1부터 B10까지의 셀 범위 내용을 지움)
  • Chart: 차트를 나타냅니다.
    • 예: Charts("Chart1").ChartTitle.Text = "제목" ("Chart1" 차트의 제목을 "제목"으로 설정)

3. 개체 접근 방법

  • 직접 접근: Sheets("Sheet1"), Range("A1")과 같이 개체 이름을 직접 사용하여 접근합니다.
  • 상위 개체로부터 접근: ThisWorkbook.Sheets("Sheet1"), Application.Workbooks("Book1").Sheets("Sheet1")과 같이 상위 개체로부터 하위 개체에 접근합니다.
  • 활성 개체 접근: ActiveSheet, ActiveCell, Selection과 같이 활성화된 개체에 접근합니다.

4. 개체 사용 예시

VBA
 
Sub ObjectModelExample()
    ' 워크시트 접근 및 셀 값 입력
    Sheets("Sheet1").Range("A1").Value = "이름"
    Sheets("Sheet1").Range("B1").Value = "나이"

    ' 셀 범위 접근 및 값 입력
    Range("A2").Value = "홍길동"
    Range("B2").Value = 30
    Range("A3").Value = "김철수"
    Range("B3").Value = 25

    ' 셀 범위 서식 변경
    Range("A1:B1").Font.Bold = True
    Range("B2:B3").NumberFormat = "#,##0"

    ' 메시지 박스 표시
    MsgBox "데이터 입력 완료"
End Sub

5. 마무리

VBA 엑셀 개체 모델을 이해하면 엑셀의 다양한 요소를 프로그래밍 방식으로 제어하고 자동화할 수 있습니다. 다양한 예제를 통해 엑셀 개체 모델 사용 방법을 익히고 VBA 코딩 능력을 향상시키세요.

728x90
반응형
LIST

'Microsoft Excel' 카테고리의 다른 글

Excel VBA - 이벤트 처리  (0) 2025.03.09
Excel VBA - 함수와 프로시저  (0) 2025.03.09
Excel VBA - 반복문  (0) 2025.03.09
Exvel VBA - 조건문  (0) 2025.03.09
Excel VBA - 연산자  (0) 2025.03.09