예:
엑셀로 경험치 테이블을 만들어놓았다.
어느날 갑자기 경험치의 계산 단위가 바뀌게 되어 테이블 모든 값을 *100 을 해줘야 한다.
VBA 를 알면 간단히 스크립트를 짜서 모든 셀에 *100 을 처리.
모르면 노가다.
2008.08.06 22:56:03 (*.127.96.81)
천천히
처음 올린 글인데 김학규님이 직접 답변해주시니 영광입니다^^
김학규님이 들어주신 예는 VBA의 기초적인 내용인것 같은데요
실무에서 쓰이는 VBA가 김학규님이 답변해주신 정도의 수준인가요?
만약 사실이라면 VBA는 기초만 배우고 충분할것 같아서요
2008.08.07 00:22:15 (*.39.82.14)
글강
more 예:
- 엑셀 VBA로 MMORPG 전투 시뮬레이터(나름 꽤 정교하게)를 만들어 밸런싱에 활용한 적이 있습니다. 아무래도 사람이 직접 진행하는 테스트만큼의 신뢰도는 기대할 수 없었지만, 뭐 1000번 전투나 10000번 전투 결과 통계 -_-a 같은걸 가볍게 살피고 싶을 때 활용할 수 있었죠. 하지만 이 시뮬레이터를 만든 기획자는 그 후 VBA는 인간이 쓸게 못된다고 절규하며 C#으로 갈아탔습니다 :D
- 게임에 사용되는 테이블 포맷이 CSV인데, 원본 데이터는 XLS로 유지하는 경우가 꽤 있습니다. 이 때 원본 XLS의 여러 시트에 걸쳐 있는 데이터들을 분리, 취합해서 하나의 완결된 CSV 테이블을 뽑아내야 한다면? 그런걸 매번 손으로 한다면... 차라리 자살을 추천 ( --) 냅 VBA 만세
- 뭐 그 외에도 제가 개인적으로 VBA를 이용해서 만들어본 것은... 각종 간단한 1000번 돌려보기용 확률 시뮬레이터, 역시 간단한 수준에서 게임 밸런싱 시뮬레이터(n명의 유저들이 데스매치를 벌인다고 가정할 때, 가급적 10분의 플레이타임 내에서 게임이 종료될 수 있는 적절한 킬 수는 몇인가? 와 같은 문제의 가답을 찾는 경우 등등), 클라이언트에서 txt밖에 안읽어주시는 바람에 수'만'개의 테스트 세팅용 txt를 자동으로 추출해야만 했을 때 만든 txt 생성기(?), 당장 급하게 스톱워치가 필요한데 달리 구할 수가 없는 경우 가볍게 뚝딱뚝딱 VBA 스톱워치 (이런건 그냥 프리웨어를 찾아보는게 더 빠르겠지만...) 등등등, 역시 익혀두시면 여러모로 일상에 도움되는 점이 많습니다 :D
다만 VBA를 쓰다가 C#을 써보니 인생이 아름다와 보인다고 증언한 위의 기획자의 사례를 볼 때, C#이 더 좋을는지도 모르겠습니다만 -_-a 전 C#은 안써봐서 패쓰~
2008.08.07 02:11:31 (*.127.96.81)
천천히
글강님 상세한 답변 감사드립니다^^
제가 궁금했던 점은 VBA의 주 목적인 엑셀내에서의 사용에 관련된 것이었는데요.
제가 생각에는 김학규님이 답변 주신 용도 처럼 간단히 셀의 값을 바꾸는 정도만 쓰이는게 아닐까 했는데 역시 그런것 같습니다
VBA를 배우면 좋다는데 얼마나 깊이 배워야 하는지가 궁금했었습니다
글강님이 말씀하신 이외의 용도는 꼭 VBA로 하지 않아도 되니 VBA를 아주 깊게까지는 안배워도 되지 않나하는 생각이 드네요
즉, VBA는 엑셀내 데이타들을 조작하는 정도만 할 줄 알면 실무에서 요구하는것을 충분히 만족하지 않을까라고 생각이 됩니다
제가 혹시 답변을 잘못 이해한것이라면 정정 부탁드립니다
다시한번 상세한 답변을 주셔서 감사드립니다 (_ _)
2008.08.07 10:20:57 (*.218.236.110)
글강
제가 들었던 예들을 VBA가 아닌 다른 '언어'로 충족시키실 수 있는 수준이시라면, VBA를 얼마나 익힐는지 여부는 사실 별 문제가 안될거라고 생각합니다.
일단 엑셀 내 데이터들을 조작하는 정도로 익혀두시고, 차후 실무에서 추가 용도가 발생하는 경우 그냥 바로바로 공부해서 만드실 수 있을테니까요 :)
그만큼 VBA는 여타 언어들에 비해 학습과 응용이 꽤 쉬운 편입니다.
2008.08.07 11:12:56 (*.148.190.139)
쪼이
저도 도움이 되었습니다. 감사합니다.
2008.08.18 19:06:22 (*.231.10.131)
최영묵
사실, VBA 는 셀값을 어떤 규칙에 의해서 일괄적으로 변경하고 싶은 정도의 간단한 기능만 필요합니다만, 그 정도의 기능조차도 어려워 하거나, 배우기를 꺼려하는 사람도 적진 않죠.
엑셀을 많이 사용하면서도 엑셀만으로는 하기 힘든 것들을 도와주는 VBA 는 많이 사용하지 않는 것 같습니다.
엑셀로 경험치 테이블을 만들어놓았다.
어느날 갑자기 경험치의 계산 단위가 바뀌게 되어 테이블 모든 값을 *100 을 해줘야 한다.
VBA 를 알면 간단히 스크립트를 짜서 모든 셀에 *100 을 처리.
모르면 노가다.