Front 시트|
자꾸 경험을 해야 실천할 수 있는 것들..
무언가 잘 만들어서 잘 돌아간다고 생각했는데
어라..왜 안되지요???? 그런 경우가 많다
당초 무언가 만들 때 쌤플 원본시트는 될 수 있는 한 문제의 소지가 많은 것을
사용하는 것이 최적의 것을 만들수 있는 환경이 된다
그래야 많은 경우의 수를 찾아낼 수 있다
사람사는 것도 마찬가지다
젊었을때 피터지게 쓰라린 경험을 많이 해야 변화무쌍한 경우의 수에
적절히 대응하는 내공이 쌓인다
아주 최적화된 쌤플로 무언가를 만든 다고 하는 것은
전혀 변화무쌍한 환경의 변화에 적응을 못한다
젊었을때 최적화된 환경에서 자란 사람은
살다보면 겪어야 하는 다양한 환경의 변화에 죽을 쑤고 전혀
내공이 없으면 못견디고 자살을 하기도 한다
그런 경우를 프로그래밍속에서 만들어 보자
...
...
[VBA엑셀프로그래밍|기본]|
지난주에 이어서 여러개의 변수를 휠터에 전달할때
VBA로 작성한 휠터가 어떤때는 되고 , 어떤때는 안된다고 하신다
2007버전에서 작성된 휠터매크로를 좀 편집하여 2003버전에 붙이고 하니
될리가 없다
어라..다른데서는 되던데..
이것은 2007버전에서는 되던데..라는 버전관점을 놓치고 한 이야기가 된 셈이다
그럼 2007버전에서 잘 되는 휠터를 2003에서는 못한다는 건가??
기능이 없으면 VBA로 작성하면 된다

하위 버전의 코드는 상위버전에서 돌아가도
상위버전의 코드는 어떤 것은 안돌아가고 에러가 나는 것은
그런 점이니..결국은 어떤 개체가 추가 되거나 어떤 개체의 메소드나
속성의 사용방법이 변경된 것이라는 것을 알면 죄다 잘 처리할수 있다
[외부라이브러리및 응용]|
매개변수를 Array()로 받는다고 할때
위의 내용을 2007버전으로 풀어 보자
아래는 휠터의 조건을 받는 방법의 2007버전의 경우이다
이것을 2007에서 매크로로 기록은 했는데
VBA로 변수가 갯수가 바뀔때 마다 배열을 만들어서 전달하여야 할 것이다
배열을 받겠다고 버티는 메소드에는 배열을 만들어서 전달하는 것이
프로그래밍에 있어서 엑셀과의 약속이다
그런 약속을 지켜가면서 요리조리 조합하여 나가는 것이
엑셀프로그래밍이고..
논리와 수식|
이벤트프로시져와 양식화일의 활용
아래 직원이 문제를 갖여 온다..
원본이 있는 시트를 참조하여 정성껏 나름대로 실력을 발휘아여
수식을 요리 조리 조합하여 무언가 분석한 테이블을 노랑색테이블같이
만들었는데..
원본의 내용이 ERP의 내용이 들어 오면서 갱신할때 시트를 삭제후
다시 만들면서 참조하였던 주소가 완존히 사라지고 에러가 난다고 징징거린다..
방법은 두가지다..
하나는 원본이 있는 시트를 삭제하지 않고 테이블도 삭제하지 않고
내용만 지우고 ERP에서 자료를 뿌려주면 될 것이다..
이렇게 하라고 조언을 해주던가..
그러나..시트를 삭 없애고 다시 만나드는 것이 빠르고, 효율적이다
그래서 두번째 방법을 조언해준다
이 두번째 방법이 엑셀의 비밀 병기이다
원본을 삶아먹던..뒤집어 회를 쳐먹던..상관없이 멀쩔하게 참조주소는
살아서 버티고 있다
이 비밀 병기가 뭘까..알고 나면..에이..그것 나도 아는데..
알면 뭐하나 문제가 생기면 척하고 실천할수 있는 자판질이 되야지!!
x20120723_0729.