ID:
PW:

     0 분
     5 분

프로그래밍 Tips
프로그래밍에 관한 Tip을 공유하는 곳입니다.


[VBA] 테이블 데이터로 엑셀 시트 생성하기
이석종  2021-04-02 08:30:37, 조회 : 380, 추천 : 1
- Download #1 : tablesheet.xlsm (34.6 KB), Download : 5

Table2Sheet 사용자 매뉴얼



엑셀은 직관적이라 사용하기 편한 면도 있지만 시트들을 옮겨다니면서 입력하고 확인하고 하는 것이 번거울 때도 있다. 예를 들어 단면검토를 여러군데 해야 한다면 (예를 들어 30군데) 같은 시트를 30개 복사해서 30개의 시트를 옮겨다니면서 데이터를 입력하고 결과를 확인해야 한다. 보통 결과는 스크롤을 몇번 해야 볼 수 있다. 사실 일을 하다보면 입력사항과 그로 인한 결과만 궁금할 수도 있는데 여기저기 시트를 옮겨다니다보면 길을 잃고 헷갈리는 경우가 종종 있다.



Table2Sheet을 만든 목적은 이런 번거로움을 줄여보자는 것이다.



일단 사용자는 입력데이터 시트(table)와 실제 계산이 이루어지는 시트(template). 이렇게 두개의 시트만 관리하도록 한다. 그리고 필요할 때 이 기능을 실행하면 나머지 30개 시트를 복사해서 생성하고 테이블의 데이터와 연결해준다.



말로 설명하려니 어렵다. 그림으로 설명하면 아래와 같다.



사용자는 아래와 같이 table 시트와 template 시트만 관리할 것이다.


첫줄의 데이터들은 template 시트와 연결되어있고 나머지 줄들은 아직 연결된 것이 없다. 데이터만 있는 것이다.




template시트의 내용은 아래와 같다. table시트의 값들을 이용해서 원하는 계산을 하고 그 결과를 B6에 넣은 상태다. table 시트의 G4 셀은 template시트의 B6을 참조하고 있다.



 



Table2sheet의 실행 순서는 이렇다. 복사를 원하는 template가 포함된 줄과 나머지 데이터들이 들어있는 구역을 선택하고 Table2Sheet 버튼을 누른다. 끝!





그러면 아래와 같은 결과를 볼 수 있다.





sheet01부터 sheet03까지의 시트가 새로 만들어졌고 해당 줄의 Result 컬럼도 채워진 것을 볼 수 있다.


result 컬럼의 개수는 한개만 가능하나 것이 아니고 몇개든지 가능하다.




이 프로그램은 선택된 영역의 첫번째줄 두번째 컬럼에 있는 template 시트와 table 시트의 관계를 파악하고 첫번째 컬럼에 있는 sheet이름으로 template시트들을 복사한 다음 새로 생성된 시트들을 각 줄의 데이터들과 연결시켜준다.



사용방법은 매우 간단해서 설명할 것도 없다.



데이터가 바뀌거나 추가 된 경우 template 시트만 남겨두고 지운 후 다시 생성하는 것을 추천한다. 이미 만들어져있는 시트들이 제대로 연결되어있는지 확인하는 것보다 이 프로그램을 이용해서 다시 연결하는 것이 더 정확하기 때문이다.



template시트를 두개 이상 운용할 수있다. 예를 들어 거더검토용 template시트는 template-G, 기둥검토용 template시트는 template-C이렇게 두개를 운용할 수있다. 이 프로그램은 선택된 영역에 대해서 실행되기 때문에 적용하고자 하는 template명이 포함되도록 선택한 다음 실행버튼을 누르면 된다.



 



< 주의사항 & Tips >


- Table시티의 이름은 Table이어야 한다.


- template시티의 이름은 자유롭게 할 수있지만 다른 시트와 구분을 위해서 template를 붙이는 것을 추천한다.


- 이미 있는 시트명으로 생성하려고 하면 기존 시트를 지우고 생성한다. 될 수 있으면 template만 집중적으로 관리할 것을 추천한다. template를 복사해서 만든 시트는 될 수 있으면 수정하지 않는 것이 바람직하다.


- 복사해서 생성되는 시트는 해당 template시트 뒤쪽에 생성된다.


- template 시트가 없으면 메시지와 함께 프로그램 종료된다.




  추천하기   목록보기

Copyright 1999-2021 Zeroboard / skin by zero
구조설계의 미래를 준비하는 모임 [구조설계미래포럼]