얼렁뚱땅 엑셀 VBA] 오브젝트(개체), 컬렉션, 속성, 매서드 개념

2017.05.11 11:30




오브젝트(object, 개체)




개체? 객체? 둘 다 의미하는지도 모르겠다. 


workbooks, worksheets, charts 등등 수십개의 개체가 있다. (50개 정도??)


엑셀에서 사용하는 모든 요소들이 개체라고 보면 될듯.


개체 안에 개체가 포함될 수도 있다. 

이 경우 개체와 개체는 .(마침표)로 구분


Application.Workbooks("Book1").Worksheets("Sheet1").Range("A1")



개체는 그냥 오브젝트(개체)와 컬렉션 오브젝트 두 가지로 구분할 수 있다. 





컬렉션(collection)


개체들의 집합


컬렉션 개체는 개체명 뒤에 복수형 s가 붙는다. 

(workbooks, worksheets, charts) 


파일에 워크시트를 여러 개 추가했다면 이들 여러 개의 워크시트를 한 번에 제어하려면 컬렉션으로 접근하면 용이하다.



현재 워크시트의 총 갯수를 확인하려면 워크시트 컬렉션의 갯수를 확인하면 된다. 

직접실행창에 ?Worksheets.Count 를 입력한다






컬렉션 안에 포함된 개별 개체들에 접근하기 위해서는 개별 개체의 이름을 사용하거나 인덱스 번호를 이용해서 접근한다. 



Worksheets("Sheet1")


Worksheets(1)






 속성(property)


오브젝트의 속성. 

강아지라고 하는 오브젝트라면 견종, 색깔, 크기 등등에 해당


엑셀에서는 [개체명.속성] 으로 표현한다. 




속성을 새로운 값으로 변경하려면


개체명.속성 = 새 값


Worksheets(1).Range("A1").Value = 100




속성을 확인하려면 속성의 값을 반환해서 보여줄 대상을 지정해서


대상 = 개체.속성


MsgBox Worksheets(1).Range("A1").Value



엑셀 VBA 속성 매서드






매서드(method)


오브젝트의 매서드.

강아지라고 하는 오브젝트라면 짖는다, 먹는다, 꼬리친다 등등의 동사에 해당


엑셀에서는 [개체명.매서드]로 표현한다. 


Worksheets(1).Range("A1").Value.Clear


 


매서드에 매개변수(인수)에 해당하는 값을 줄 때의 형식 


인수명 := 값  


Worksheets.Add after:=Worksheets(1), Count:=2

'worksheets(1) 뒤에 2개의 워크시트를 추가하기

저작자 표시 비영리 변경 금지
신고

또루아빠 Excel/VBA 공부 , , , , , , , , , , , , ,