• 최초 작성일: 2000-05-11
  • 최종 수정일: 2026-09-30
  • 조회수: 15 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 중요한 용어 몇가지

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

엑셀의 파워유저가 되기 위해서는 필수적으로 이해하고 넘어가야 할 사항들이 있었습니다. 배열, 배열수식 등이 바로 그러한 것들이었습니다.

VB의 본질에 접근하기 위해서도 마찬가지로 필수적으로 이해해야 넘어가야 할 개념이 몇 가지가 있는데, 오늘 소개해 드릴 내용이 바로 그것에 관한 것입니다. 중요한 4가지 용어에 대해 설명을 드릴테니 잘 정리하시기 바랍니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 대표 직강 1강 무료

🎁 파워툴스 마스터클래스 · 엑셀 바이브 코딩

AI에게 말로 지시해서 '나만의 엑셀 도구'를 만들고 리본에 장착합니다.

  • 코딩 지식 없이 시작 · 코드는 AI가 작성
  • 엑셀 리본에 내 탭과 버튼을 만들고 XLAM으로 공유
  • 1강 무료 수강 가능
수강 신청하기 강의 소개 보기

중요한 용어 몇가지

핵심 요약: VBA 필수 용어 4가지

오브젝트는 대상, 컬렉션은 같은 종류 오브젝트의 모임, 프로퍼티는 오브젝트의 특징, 메서드는 오브젝트에 대한 동작 명령입니다.

  • 오브젝트: Application, Workbook, Worksheet, Range처럼 계보를 이루는 대상입니다.
  • 컬렉션: Workbooks, Worksheets처럼 같은 성격의 오브젝트 집합체입니다.
  • 프로퍼티: Range.Value처럼 오브젝트의 특징이나 성격을 나타냅니다.
  • 메서드: Range.ClearContents처럼 오브젝트에 내리는 동작 명령입니다.

Step 1: 오브젝트와 컬렉션 (Objects & Collections)

우리가 지금 배우는 것이 Visual Basic for Application, 즉 특정 응용프로그램을 위한 Visual Basic이지요. 여기서 Application이라는 것은 당연히 Excel이겠지요?

그런데 이 VBA는 엑셀에만 있는 것이 아니고 워드, 억세스, 파워포인트 등 모든 MS-Office의 제품에 장착이 되어 있습니다. VBA를 모르는 사람들은 "이거 무슨 얄궂은 파일들이 이렇게나 많고 용량이 커?'라고 할 것입니다. 아주 훌륭한 역할을 수행하는 부하들이 잔뜩 있는 셈인데, 이걸 모르고 괜히 하드디스크 자리나 차지하게 방치해 두는 것은 낭비 중의 낭비입니다.

먼저 Application 오브젝트의 계보(hierarchy)에 대해 잠깐 살펴보고 가지요.

VBA를 배우는데 있어 가장 훌륭한 스승은 바로 도움말 기능입니다. VB Editor를 띄운 상태에서 도움말-Visual Basic 항목에 가서 살펴보시면 아래와 같은 족보가 나타납니다(원어로는 Hierahchy라고 합니다). 주의할 점! 이 도움말은 오피스를 설치할 때, Setup으로만 그냥 설치하면 설치가 되지 않습니다. 일단 오피스 프로그램을 설치한 후 다시 "추가"를 통해 설치하셔야 합니다.

엑셀 Application 오브젝트의 계보(Hierarchy) 도움말 그림
아이엑셀러

엑셀2000에는 총 47개의 오브젝트가 있습니다.

참고: 요즘 버전의 Office는 VBA 도움말을 설치 옵션으로 두지 않고 웹(Microsoft Learn의 VBA 참조 문서)으로 제공합니다. 오브젝트 모델도 엑셀2000 이후로 오브젝트가 더 늘어났으므로, 정확한 계보는 웹 문서나 VB Editor의 개체 찾아보기(F2)에서 확인하시기 바랍니다.

컴퓨터를 가만히 살펴보면 모니터가 있고, CPU가 있고, HDD, FDD, VGA카드, 메인보드, 키보드, 마우스, RAM… 등 여러 가지 부품들의 조합으로 이루어져 있습니다. 여기서 컴퓨터라는 총합체가 Application이고 그 밖에 각각의 부품들(모니터, CPU 등)이 오브젝트라고 생각하시면 될 것 같습니다.

컬렉션이라는 것은 …a group of objects of the same class 즉 "같은 클래스의 집합체"라고 해석이 되겠는데 이것은 같은 성격을 가진 오브젝트의 집합체라고 생각할 수 있습니다.(우이씨~ 클래스는 또 뭐야?)

먼 소린고 하니, 위 그림에서 Workbook, Worhsheet, Chart 오브젝트 같은 것들을 보세요. 뒤에 s가 붙어서 Workbooks, Worksheets, Charts라고 되어 있지요. 이것은 같은 성격을 가진 오브젝트가 여러 개가 존재할 경우, 이것을 그룹으로 보아 하나의 집합체로 간주한다는 것이지요.

쉬운 예로 자동차를 생각해 보면, 자동차에는 4개의 타이어가 있지요. 이 각각의 타이어는 모두 오브젝트가 되겠고, 이 4개의 타이어를 합쳐서 "타이어들"이라는 컬렉션으로 취급한다는 얘깁니다. 즉 타이어는 오브젝트인 동시에 컬렉션의 한 구성요소라고 할 수가 있겠지요?

컬렉션 중에서 특정 오브젝트를 지칭할 때는 대개, Worksheets("Sheet1") 또는 Worksheets(1) 와 같은 형태로 사용을 합니다.

영업부서에 김담당, 이담당, 박담당, 권담당… 등이 있다고 할 때, 이 중 한 사람을 지칭하는 방법을 예로 든다면, 영업부서(김담당), 영업부서(제일고참) 에 해당하는 표현이라고 할 수 있습니다.

Step 2: 프로퍼티 & 메서드 (Property & Method)

모든 오브젝트는 속성을 가지고 있습니다. 예를 들어 Range(범위를 나타내는 오브젝트) 오브젝트는 Value 라는 속성을 가지고 있는데 이것을 사용하여 이런 작업을 수행할 수 있습니다.

먼저 아래 셀(이름 Target)에 아무 값이나 입력하세요.

Sub ReadTarget()
    Dim Str As String
    Str = Worksheets("Sheet1").Range("Target").Value
    MsgBox "셀의 Value값은 """ & Str & """입니다.", , "//Exceller"
End Sub

모든 개체(오브젝트)는 디폴트 속성(프로퍼티)을 가지고 있습니다. Range오브젝트는 Value라는 속성(프로퍼티)을 디폴트 값으로 가지므로 위의 예에서 빨간 동그라미 부분, 즉 ".Value" 부분을 생략해도 프로그램을 실행하는 데에는 아무런 지장이 없습니다. 하지만 디폴트 속성이라 하더라도 속성(프로퍼티)을 함께 기입해 주는 것이 좋은 습관이라 할 수 있겠습니다.

이번에는 방법(메서드)에 대해 알아볼까요? 옆의 버튼을 누르세요.

Sub WriteString()
    Dim i As Integer
    For i = 1 To 20
        Cells(105 + i, 1).Value = "안녕하세요!"
    Next i
End Sub

"안녕하세요!"라는 문자열이 좌악 입력이 되었지요? 이것은 위에서 설명드린 Range 오브젝트의 Value 속성을 이용한 것입니다. 이제 이 내용을 지웁니다.

Sub DelString()
    Dim i As Integer
    For i = 1 To 20
        Cells(105 + i, 1).ClearContents
    Next i
End Sub

잘 되지요? 이것은 Range 오브젝트의 ClearContents라는 방법(메서드)을 사용한 것입니다. ClearContents라는 것은 해당 Range 오브젝트 내의 있는 (셀의) 값을 지우는 메서드입니다. 코드는 VB Editor를 실행시키시고 모듈시트에 가면 모두 들어있으니까 관심이 있는 분만 보세요. 간단한 코드입니다만 초보님들이 보고 괜히 지레 겁을 먹으면 안되니까!

그리고 앞으로 강좌를 진행하면서 하나씩 설명을 드릴 거니까 이해가 안되더라도 걱정하지 마세요.

정리: 꼭 기억해 두실 것

오늘 내용 중에 이것은 꼭 기억해 두시기 바랍니다.

오브젝트와 개체, 프로퍼티와 속성 그리고 방법과 메서드는 서로 같은 말입니다. 앞으로 강좌를 진행하면서 서로 병행해서 쓸테니까 혼돈하지 마세요(가급적이면 오브젝트, 프로퍼티, 메서드 라는 말을 쓸 것입니다)

프로퍼티: 오브젝트가 가진 성질머리, 즉 오브젝트의 특징이나 성격

메서드: 오브젝트에 대한 동작 명령

다음 시간에 또…

정리 — VBA 핵심 용어 정리

용어 다른 말 설명
오브젝트(Object) 개체 VBA로 다루는 대상 (Range, Worksheet 등)
컬렉션(Collection) 집합체 같은 클래스 오브젝트의 모임 (Worksheets)
프로퍼티(Property) 속성 오브젝트의 특징이나 성격 (Value)
메서드(Method) 방법 오브젝트에 대한 동작 명령 (ClearContents)

자주 묻는 질문 (FAQ)

Q1. 컬렉션에서 특정 오브젝트는 어떻게 지칭하나요?

Worksheets("Sheet1") 또는 Worksheets(1)처럼 이름이나 인덱스 번호를 괄호 안에 넣어 사용합니다.

Q2. Range 오브젝트의 디폴트 속성은 무엇인가요?

Value입니다. 생략해도 동작하지만 속성을 함께 적어 주는 것이 좋은 습관입니다.

Q3. 프로퍼티와 메서드는 어떻게 다른가요?

프로퍼티는 오브젝트의 특징이나 성격, 메서드는 오브젝트에 대한 동작 명령입니다.

마치며

오브젝트, 컬렉션, 프로퍼티, 메서드 네 가지 용어는 앞으로 계속 등장합니다. 지금 이해가 되지 않더라도 강좌를 진행하면서 하나씩 설명드리니 걱정하지 마세요.