Skip Navigation Links.
Expand VBAVBA
엑셀프로그래밍이 필요한 이유
Expand ExcelExcel
Expand External LibraryExternal Library
Expand SolutionSolution
Expand EssayEssay

Excel & VBA---Brain Training



그럼 Range오브젝트는 그냥 하늘에서 뚝 떨어졌나???
워크시트상에 범위..셀들이 있다
그렇다면 Range오브젝트의 부모는 누구일까??
부모가 있어야 자식이 있다
워크시트오브젝트를 Worksheet오브젝트라고 한다 ..흠..간단하네
그래서 영어를 하는 그들은 우리보다 훨 프로그래밍을 잘 할 소질을
갖고 있는 셈이고 영어단어에 좀 관심을 갖는 분들이면 역시
좀더 프로그래밍을 잘 할 소질을 갖고 있는 셈이고..
이말은 또 엑셀프로그래밍을 즐기면 최소한 몇가지단어는 귀신이 될것이다
Worksheet오브젝트라는 것도 역시 그냥 하늘에서 뚝 떨어지는 것이 아니고
이것도 부모가 있지 않겠는가???
워크시트는 어디에 들어있는가..통합문서라고 번역하여 사용하는
통합문서가 부모이고 통합문서를 그들은 WorkBook이라고 이름을 붙인것이다
그렇다면 WorBook은 부모가 없나???
그냥 하늘에서 뚝 떨어졌나??
없잖아..통합문서면 끝이지..그러니 Workbook의 최고로 높은 수령이겠네??
다시 생각해 보시기 바란다..곰곰히..
통합문서가 여러개 만들어 질수 있지 않은가???
여러개 만들어 질수 있는 놈은 죽었다 깨도 최고로 높은 놈이 아니다
여러문이 문서를 작성하여 저장할때마다
Workbook이라는 오브젝트가 생성되어 저장 되는 것이다
그러네..!##@!
그럼 WorkBook보다 더 높은 놈은 누구야???
Excel이라는 넘이지..!!!!
그렇다..엑셀이다..
그래서
Excel.Workbooks(1).WorkSheets(1).Range("A1")
이라고 표현하면 열려있는 통합문서의 첫번째 통합문서의 첫번째시트의
A1셀이라는 Range오브젝트에 접근하는 것이다
이때
Application.Workbooks(1).WorkSheet1(1).Range("A1")
이라고 해도 마찬가지다
실은 엄밀히 따지면
Excel.Applicaiton.Workbooks(1).WorkSheet1(1).Range("A1")
인데.. Excel이나 Application하나만 사용해도 되고
또한 Excel이나 Application은 붙여도 되고 안붙여도 되는 알아서
엑셀이 찾아가게 된다
Excel.Application이라는 것을 꼭 붙여서 사용하여야 할 경우는
예를 들어서 파워포인트나 워드등 외부에서 엑셀을 찾아 들어올때
필히 사용해야 되는 표현식이 되는 것이고
엑셀내에서는 구태어 붙이지 않아도
Excel이나 Application이 당연히 부모라는 것을 알고 있으니까..

그럼 그냥
Range("A1").Value=3
이라고 하면 어떻게 되나???
이것도 단축적 표현이 되어..여러장의 시트중에 현재 활성화되어있는
시트의 A1셀이라는 것이다
초보님들이 이런 오브젝트의 족보를 모르기때문에
엉뚱한 시트에 값이 떨어지게 하는 경우가 많고
에러가 흔하게 발생하게 되서 밤을 패는 것이다
특히 그 쨔샤가 하니까 잘되던대 하고 퍼다가
사용하면 꼭 나타나는 에러인 것이다
아마 코드를 퍼준 고수는 속으로 그럴것이다..짜샤 갖어만 가면 쓸줄 아냐..흠흠..
다시 찾아 오리라!!아무나 하냐??!@!@

기초없이 남의 코드 동냥질해다가 사용하면..
엑셀..거 못쓰겠더라구...!#@!하게 되는 가장 큰 이유중의 하나다!!
좋은 습관은 항상 어떤 시트라는 것을 명시적으로 표현하는 것이
좋은 습관이다
Worksheets("시트이름").Range("A1").Value=3
이 걱정없이 코딩해도 좋은 것이다
그러나 귀찮아서 약식으로 마구마구 코딩을 하고 한참후에 후회하게 된다

이 것도 연습하고 넘어가야지..!!
그냥 가면 건성으로 듣고 만다!!
꼭 화일 열어서 해보셔야 한다


BrainTraining_065_7.



버튼을 몇개 달고 버튼을 크릭할때마다 다른 워크시트에 접근하여
해당시트의 원하는 셀(Range오브젝트)에 작업을 하다록 한다
이때 Application 최상위 오브젝트가 갖고 있는 속성을 사용해 본다
Application오브젝트는 유용한 속성을 아주 많이 챙겨 놓고 있는 오브젝트다
WorkSheets라는 속성에 값을 전달하여 Worksheet오브젝트에 접근했고
최상위 오브젝트 ,Application오브젝트를 엑셀에서도 사용하여야 할 경우가 있다
총사령부의 참모부서..야전지원부서 같은
역할을 해주는 녀석들이 줄을 서서 기다린다..
일을 시켜 달라고..