야 너두 컴퓨터 할 수 있어

엑셀

2. 엑셀 개체(오브젝트, Object) 모델 이해하기 - Excel VBA

KBOT 2022. 7. 11. 22:33
반응형

 

 

오늘은 엑셀 VBA를 다루기 전에 간단한 이론에 대해 알아보려고 합니다.

엑셀 VBA를 더 능숙하게 사용하기 위해서는 엑셀이 어떻게 구성되어 있는지 이해해야 합니다.

 

엑셀의 개체 모델은 크게 4가지로 볼 수 있습니다.

Application, Workbook, Worksheet, Range

오늘 이 4가지의 개체가 무엇을 의미하는지 어떻게 구성되어있는지

간단한 예제를 통하여 알아보도록 하겠습니다.

 

 

 

 

 

 

반응형

 

 

 

 

 


엑셀 개체 모델

 

엑셀은 크게 엑셀, 파일(통합문서), 워크시트, 셀 로 구분할수 있습니다.

이들은 서로 주종관계가 성립되며 셀은 워크시트에 종속되고, 워크시트는 파일에 종속되며, 통합문서는 엑셀프로그램에 종속됩니다. 이러한 개체 간의 관계를 개체 모델 이라고 하며 엑셀의 개체 모델을 간단하게 아래의 그림처럼 표현할 수 있습니다.

 

엑셀 개체 모델

 

 

엑셀 VBA를 사용하기 위해서는 원하는 개체에 접근할 수 있어야 하기 때문에 개체 모델을 이해하는 것이 매우 중요합니다.

자 이제 하나하나씩 무엇을 의미하는지 알아보도록 하겠습니다.

 

※ 예제를 풀어보기 전에 아래 글을 참고하여 VBA가 무엇인지 그리고 기본적인 사용법에 대해 숙지하시기 바랍니다.

2022.07.07 - [엑셀/VBA] - 1. VBA 소개 및 기초 예제 풀어보기 - Excel VBA

 

1. VBA 소개 및 기초 예제 풀어보기 - Excel VBA

우리나라의 사무업무에 필수인 엑셀을 300% 활용하기 위한 방법은 무엇이 있을까요? 바로! VBA 입니다. 해외에서는 VBA만 전문으로 하는 프로그래머도 있을 정도로 많이 사용되는 언어입니다. 그래

pcdoit.com

 


 

1. Application

Application은 VBA를 사용하는 모든 프로그램을 의미합니다.

즉 Application은 엑셀 그 자체라고 이해하시면 됩니다.

앞서 말씀드렸듯이 VBA는 엑셀뿐만이 아니라 엑세스, 워드 등 모든 MS-Office 제품군에서 사용되는데 워드에서 사용 시 Application은 워드가 되는 것입니다.

 

 

▼ 아래는 Application 개체를 사용하는 예제입니다. 

 

1-1. 파일 활성화 하기

Application.Windows("EX1.xls").Activate

 

1-2. 엑셀 종료 하기

Application.Quit()

 


 

2. WorkBook

WorkBook은 통합 문서 즉 열려있는 엑셀의 문서 자체를 의미합니다.

예를 들어 서로 다른 문서를 2개를 열어두셨다면 WorkBook이 2개가 열려있음을 의미합니다.

그리고 열려있는 모든 엑셀 문서를 WorkBooks라고 합니다.

 

 

 

 아래는 WorkBook 개체를 사용하는 예제입니다. 

 

2-1. 새로운 파일 열기

Workbooks.Add

 

2-2. 파일 닫기

Workbook.Close

 

2-3. 파일 저장하기

Workbook.Save

 


 

3. WorkSheet

WorkSheet는 한 엑셀 파일 내의 워크시트 하나를 의미합니다.

그리고 만들어놓은 여러 개의 시트를 WorkSheets라고 합니다.

 

 

 

 아래는 WorkSheet 개체를 사용하는 예제입니다. 

 

3-1. 시트 활성화

Worksheets("Sheet1").Activate

 

3-2. 시트 삭제

Worksheets("Sheet1").Delete

 

3-3. 시트 개수 출력

Debug.Print Worksheets.Count

 


 

 

4. Range

Range는 한 워크시트 내의 하나의 셀 또는 여러 개의 셀을 의미합니다.

엑셀 VBA를 사용하면서 가장 많이 사용하게 되는 개체입니다.

 

 

 

 아래는 Range 개체를 사용하는 예제입니다. 

 

4-1. C3 셀에 TEST 입력

Range("C3") = TEST

 

4-2. C3 셀 내용 삭제

Range("C3").ClearContents

 

 

 

 

 

 

 

 

 

 

 


지금까지 엑셀 개체(오브젝트, Object) 모델에 대해 알아보고 간단한 예제들을 풀어보았습니다.
어떤 프로그래밍 언어든 눈으로만 보지 마시고 직접 코딩을 해보면 좀 더 빠르게 이해가 되실 겁니다.
 
그리고 궁금하신 내용이나 막히는 부분이 있으시면 댓글 부탁드립니다.
최대한 빠른 시일 내에 답변해드리겠습니다.

이상입니다. 도움이 되셨다면 공감♡ 부탁드립니다!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형