NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    스크립트 엑셀 매크로 - 엑셀 데이타를 2중 For 반복으로 행과 열을 읽어서 처리하기. (Excel Macro - Process Ex…

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 앞서 이중 [ Foreach 반복 ]으로 엑셀 데이타를 어떻게 처리하는지 알아봤는데요. 이 내용은 [ 여기 ]에서 예제와 스크립트를 다운로드 받을 수 있습니다. 오늘은 [ For 반복 ]으로 동일한 효과를 나타내는 방법에 대해 알아보겠습니다. 내용은 비슷하지만, For 반복은 좀 더 복잡합니다. 하지만, Foreach 반복처럼 무조건 배열을 전부 반복하는게 아니라서 스크립트 개발자가 로직에 관여할 수 있는 여지가 더 많습니다. 좀 더 쉽게 말하면 로직을 구성하는데 자유롭다는 뜻입니다. 에디터를 실행하고, 새로운 스크립트를 추가하세요. 참고로 이미 만들어둔 비슷한 예제가 있는데요. 이 [ 예제 ]가 좀 더 쉽게 설명되어 있습니다. 회원 정보 엑셀 데이타로 로그인하는 매크로 만들기인데요. 이것도 이중 For 반복으로 만들어져 있습니다.

    mpEtLKi.png

     

     

    엑셀의 구조는 아래와 같습니다. 3열 2행으로 되어 있으며, 1부터 6까지의 숫자가 들어 있습니다.

    dNOR1qi.png

     

     

    프로그래밍으로 하면 순차적으로 행과 열을 읽어서 몇줄의 코드로 될것처럼 보입니다만~ 사실은 수백줄 내지는 수천줄의 코딩이 필요합니다. 당연한 이야기겠지만, 엑셀을 메모리로 불러오고, 데이타가 어디까지 있는지 또는 선택된 시트가 무엇인지에 따라서 데이타를 어디서 가져올지도 정해야 합니다. 물론, GUI를 만들기 위한 노력도 필요하죠~ 아무튼, 로직은 엑셀에서 한번에 모든 데이타를 가져와서 행으로 1, 2, 3과 4, 5, 6을 만듭니다. 그리고 두번째 For 반복에서 열 1, 2, 3을 반복하면서 처리합니다. 아래는 전체 스크립트 내용입니다.

    F1UIKVX.png

     

     

    이 스크립트의 핵심 요소는 한번에 범위로 엑셀 데이타를 모두 가져와서 행과 열 배열로 분리해서 처리하는겁니다. 엑셀에 1, 2, 3과 4, 5, 6 행이 존재합니다. 이들을 행 구분자로 분리하면 2개 행이 배열 형태로 변수에 저장됩니다. 그리도 두번째 For 반복에서는 행에 속해 있기 때문에 첫번째 반복 때 1, 2, 3이 들어오고, 콤마로 분리 후 3번 반복하는겁니다. 이게 말로 설명하는게 아니다보니 글로 로직을 설명하기가 참 어려운 부분이 있네요. 이 예제에서 사용한 스크립트는 첨부 파일에 있으니 다운로드 받아서 한번 실행 해보세요. 그리고, 기타 궁금한 사항이나 잘 이해가 안가는 부분이 있으시면 커뮤니티의 질문과 답변 게시판에 문의하시면 답변 드리도록 하겠습니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    첨부파일

    댓글목록

    등록된 댓글이 없습니다.