VBA 관련해서 코드작성 요청드립니다.
2015.10.12 04:37
안녕하세요.
프로그래밍 요청을 하나 드려봅니다.
엑셀의 VBA 를 건드리고 있는데 자바랑 달리 객체기반 언어가 아니다 보니 클래스 구현이 이해가 안가서 힘드네요.
전체적으로 보면 기초적인 부분이라고 생각하는데 몇일을 노력해도 영 안되기 때문에 도움! 을 요청해봅니다.
(1) 오브젝트 생성을 위한 클래스 모듈작성
- Array 를 이용해서 여러개의 오브젝트를 생성하기 위함
- 오브젝트 내부에는 몇개의 Variables 만 들어가 있음 (Integer 나 String 정도만)
(2) 오브젝트를 본문에서 기본적인 사칙연산으로 다루기
- 엑셀 시트의 값을 위에서 만든 여러 변수 속성을 가진 오브젝트의 각각의 변수에 옮겨 담음
- 오브젝트(의 변수)들을 사칙연산
- 계산이 끝난 오브젝트 내부의 변수를 다시 엑셀 시트에 반영
더 쉽게 말하자면 반에서 학생들 명부 (성적 국어100점 수학100점...) 만들고 점수들을 합치거나 빼는 등 계산하는 겁니다.
원래는 전역변수로 하려고 했는데 변수선언만 1천개가 넘어가다보니 오브젝트+배열을 쓰는게 더 코드가 좋더라구요;
그런데 자바랑 달리 오브젝트를 만들기 위한 클래스가 별도 파일로 있어야 한다는데요.
Property, Get, Let 등의 명령어가 왜 들어가야 하는지 아직 잘 모르겠네요 ;ㅅ;
정확히 모르더라도 적당한 코드 예시가 있다면 그걸 뜯어고치는 식으로 작성할 수 있을 것 같은데 말입니다...
-----------
생각해보니 워크시트 셀을 그냥 전역변수 2D 배열로 쓰는 방법도 있겠네요 :D
실제로 짜보니 코드가 무척 더러워지네요 ─┌
ㅇ음.. 굳이 VBA에서 객체를 쓰실 필요가 있을지 모르겠습니다. ㅎㅎ
그냥 시트 단위로 for loop 처리하시는 것이 간단할 거 같은데요.
물론, 처리한 자료가 위에서 말씀하신 것 뿐이라면 말이죠.
for , vlookup, sum, if, ifcount 정도 사용하면 되지 않을 까 싶습니다만...