티스토리 뷰
이 글에서는 엑셀의 오브젝트에 대해서 알아보도록 하겠습니다.
엑셀 VBA 오브젝트 모델은 다른 엑셀 오브젝트를 처리하는데 있어 아주 중요한 개념입니다. 오브젝트들은 실생활의 오브젝트와 비슷합니다. 만약 사용자가 집을 오브젝트라고 고려한다면, 이 오브젝트는 여러가지 특성을 가지고 있을 수 있습니다. 예를 들어 창문, 문, 지붕등이 있겠죠.
엑셀 VBA 오브젝트 모델
집은 아래와 같은 특징을 가지고 있습니다.
오브젝트(Objects) : 작은 개념의 오브젝트들 예) 방, 문 벽, 팬등
속성(Properties) : 너비, 높이, 색상, 이름과 같은 속성
콜렉션(Collections) : 모든 방을 방 콜레션으로 만들 수 있습니다. 문또한 문들의 콜렌션으로 구분할 수 있습니다.
이벤트(Events) : 방문이 열린다, TV가 켜진다의 특정 이벤트가 집에서 발생할 수 있습니다. On Close the door, On Open the Door, On Switch on the TV,etc…
함수(Methods) : 방청소, 페이팅, 설겆이, TV보기등의 기능을 방에서 수행할 수 있습니다.
오브젝트 이해하기
아래의 실생활에서 발생할 수 있는 예를 통해서 오브젝트를 이해할 수 있습니다.
예1 : 부엌에서 사용자가 후라이팬을 끄기를 원한다면, 사용자는 부엌으로 이동해야 하고, 스위치를 끄기위해서 스위치를 찾아야 합니다. 이를 VBA에서 하고자 한다면 아래와 같이 처리가 됩니다.
House.DinningRoom.Fan.Switch=Off
예2 : 사용자가 정문을 다고자 한다면, 아래와 같이 사용될 수 있습니다.
House.MainDoor.Close=True
동일하게, 엑셀에서는 Sheet2에 대한 이름을 변경한다고 한다면 아래와 같이 처리가 됩니다.
Workbooks(“Workbook1”).Sheets(“Sheet2″).Name=”Data Sheet”
사용자가 이름을 Data Sheet로 지정을 하면, 활성화된 Workbook의 Sheet2의 이름을 변경합니다. Workbook1의 Sheet2의 이름을 변경하고자 하면 Workbooks("Workbook1")이라는 오브젝트를 사용해야 합니다.
엑셀 오브젝트, 함수, 콜렉션, 이벤트 중 자주 사용되는 것은 무엇인가?
아래의 리스트는 일반적으로 자주 사용되는 엑셀 작업에서 흔히 쓰이는 오브젝트, 함수, 콜렉션, 이벤트입니다.
[오브젝트 리스트]
오브젝트 이름 |
사용 예 |
주석 |
Workbook |
Workbooks(“Workbook1”) |
파일의 Workbook 내 Workbook1이라는 이름을 가진 Workbok |
Sheet |
Sheets(“Sheet3”) |
Sheet3라는 이름을 가진 Sheet |
Range |
Range(“C2”).Value=3000 |
C2의 값을 변경 |
Cells |
Cells(2,3).Value=3000 |
2행, 3열(C2)의 값을 변경 |
[속성, 함수, 콜렉션, 함수 리스트]
속성 |
함수 |
콜렉션 |
함수 |
Value |
Select |
Workbooks |
Worksheet_Activate |
Hidden |
Activate |
Worksheets |
Worksheet_SelectionChange |
RowHeight |
Copy |
Cells |
Workbook_Open |
ColumHeight |
Cut |
Shapes |
Workbook_SheetChange |
Interior.ColorIndex |
Names |
Workbook_BeforeSave |
|
Name |
Save |
Hyperlinks |
Workbook_BeforeClose |
Merge |
Close |
AddIns |
Workbook_BeforePrint |
이 글에서는 VBA 오브젝트에 대해서 알아보았습니다.
이 글이 도움이 되셨으면, 아래의 하트를 눌러주세요.
'IT Info > Excel And Macro' 카테고리의 다른 글
엑셀 매크러 VBA 사용법 - 변수의 범위 (0) | 2015.09.19 |
---|---|
엑셀 매크로 VBA Workbook, Sheet, Range, Cells 오브젝트 사용법 이해하기 (1) | 2015.09.18 |
엑셀 매크로 VBA 셀 복사하기(Range.Copy) (0) | 2015.09.16 |
엑셀 매크로 VBA 셀의 데이터 대문자, 소문자 만들기(UCase, LCase) (0) | 2015.09.14 |
엑셀 매크로 VBA에서 셀 폰트 색 및 크기 변경하기(Font.Size. Font.Color) (0) | 2015.09.14 |