본문 바로가기
VBA

[VBA] 간단한 고객관리 프로그램(feat. 이름정의)

by 일등미노왕국 2022. 3. 30.

같은 크루인 청주_93_사무_젭라 님이 현재 공부중인 고객관리 프로그램을 공부하는 중에 막히는 부분이 있어서 도움을 드릴려고 시작하였으나.. 고객관리를 이런식으로 하지는 않을 것 같아서 아예 새롭게 만들기로 하였다.

 

본인도 처음에 코딩을 배울때 본인보다 훌륭한 엑사남님이나 다잡님 코드들을 많이 뜯어 보았다. 좋은 코드들을 많이 보는것도 코딩 공부를 하는데 도움이 많이 된다. 

 

물론 본인 코드도 1년 뒤에 현재 코드들을 본다면 또다시 고개를 숙이겠지만 그래도 용기내어서 코드를 올린다.

 

고객관리 프로그램은 입력된 순서를 그대로 원하는 DB에 출력해주는 것이 전부이다. 물론 조회나 수정 등 다른 기능도 필요하겠지만 결국 잘들어가있는  DB에서 끌고 오기만 하면 되는거라서 For문만 잘 쓴다면 그것 역시 어렵지 않을 것이다.

보통 이런식의 작업은 유저폼을 이용하는 것이 맞다. 하지만 셀 기반에서 어떻게 작성하는지 한번 보고 가는 시간이 되었으면 한다. 여기서 가장 핵심은 [이름정의]이다. 이걸 먼저 안했으면 입력되는 영역설정을 하는데 지저분해진다.

Haja_Data 부분을 선택할때는 입력되는 순서를 잘 생각하고 하나씩 선택해서 영역을 설정하면 For each 문을 돌리거나 For문을 돌릴때 좀 더 수월하게 돌릴 수 있다.

 

특히 [rngAll.Areas.Item] 구문을 눈여겨 보길 바란다.

 단순하게 rngall.item(2)와 rngall.areas.item(2)는 다르다.

이름정의의 순서대로 아이템을 긁어오려면 rngall.areas.item을 이용하여야 한다.

 

물론 본인이 잘쓰는 For each rngA in rngAll을 사용하면  rngA의 움직임과 rngall.areas.item의 움직임과 같다.

이구문에서는 열값이 계속 증가해야 하기 때문에 For each문 보다 For문을 사용하였다.

고객조회(22.03.30).xlsm
0.03MB

댓글