티스토리 뷰

지금까지 엑셀 매크로를 통해 VBA를 사용하는데 필요한 몇몇 정보를 전달드렸습니다. 이제부터 본격적으로 엑셀을 처리하는 내용을 공부하려고 하는데 엑셀 매크로를 잘 활용하기 위해서는 알아야 할 주요 개체가 4가지가 있습니다. 


주요 개체는 Application, Workbook, Worksheet, Range로 구분할 수 있습니다. 


각 개체에 대한 간략한 설명을 드리자면,


1) Application : 이는 Excel 프로그램 자체를 나타냅니다. 

즉 현재 실행되고 있는 Excel 프로그램이라고 보시면 됩니다. 종료와 같이 엑셀 프로그램에서 실행할 수 있는 모든 기능을 제공하는 개체입니다. 저장, 로드는 Application이 아니라 Application 보다 하위단이 Workbook에서 가능합니다. 



예를 한번 살펴볼까요.

Excel을 그냥 한번 종료해보겠습니다. 


Sub NewWorkbook()

    Excel.Application.Quit

End Sub


위의 코드를 실행하면 종료가 되는데, 특정 워크북이 변경이 상태면 저장할 것인지 물어봅니다. 아래의 그림과 같이 말이죠.



2) Workbook : 엑셀은 모두 파일 단위로 저장이 됩니다. 이러한 파일을 의미하는 것이 바로 WorkBook입니다. 따라서 파일을 저장하거나 새로 만들기를 할 때는 모두 WorkBook을 기반으로 이루어집니다. 또한 파일 복사, 삭제 등도 다 WorkBook에서 이루어 지죠. WorkBook은 엑셀 파일과 관련된 모든 일을 한다고 이해하고 있으면 될 것같습니다. 


그럼 예로 파일을 한번 읽어와 볼까요.


Sub openFile()


    Application.Workbooks.Open ("C:\test.xlsx")


End Sub


위의 코드는 C:\에 있는 Test 이름을 가진 엑셀 파일을 읽어오라는 명령어 입니다. 

코드 실행 전에 VBA 프로젝트에 올라와 있는 Workbook 개체를 보면 Book2 밖에 없습니다. 



하지만 실행을 하게 되면, Test.xlsx의 개체가 생기게 되죠. 물론 Test.xlsx가 엑셀에서도 열려있습니다. 



3) WorkSheet : 엑셀을 작업하는 공간은 Cell들의 집합으로 이루어져 있죠. 


이것이 바로 WorkSheet입니다. 기본적으로 엑셀에 빈파일을 실행하면 3개의 WorkSheet가 들어가있는걸 알 수 있어요. 즉 WorkBook에는 WorkSheet라는 개체가 포함이 된다는 걸 알 수 있네요. 당연히 Sheet 내에서 할 수 있는 기능을 제공하고 있겠죠. 




테스트 한번 해볼까요. 새로운 WorkSheet를 추가해보도록 하겠습니다. 


Sub NewWorkSheet()


    Excel.Application.Worksheets.Add


End Sub


위의 코드를 실행하면 없던 Sheet4번이 생겼네요. 당연히 Add 함수를 할 때 어떤 위치에 넣을지, 어떤 이름으로 할지 지정도 가능합니다. 이는 차후에 자세히 살펴보도록 할께요.


4) Range : 마지막으로 Range입니다. Range는 WorkSheet가 구성하는 수 많은 셀들 중 지정한 셀의 집합입니다. Range는 하나의 셀이 될 수도 있고, 여러 셀이 될 수도 있겠죠.


하나의 셀을 지정하려면 Range("A1")과 같이 여러 셀을 지정하려면 ':"를 사용하여  Range("B1:B10").Value = "Test Range" 이용할 수 있습니다.  Range("B1:B10").Value = "Test Range"는 B1부터 B10까지 지정을 하겠다는 의미에요.




위의 그림처럼 비어있는 엑셀 파일이 있습니다. 아래의 코드를 실행해 볼까요.


Sub NewWorkSheet()


    Range("A1").Value = 100

    Range("B1:B10").Value = "Test Range"

    

End Sub



그리고 결과를 보겠습니다. 지정한 A1에는 100이, B1부터 B10까지는 Test Range라는 문자열이 들어가 있네요. 

잘됩니다 ^^;



이 글에서는 Excel 객체들을 사용하기 전에 주요 개체(Application, WorkBook, WorkSheet, Range)에 대해서 알아보았습니다.

앞으로 좀더 상세한 내용을 알아보도록 할께요


이 글이 도움이 되셨나요?


댓글