#해당 포스트는 전자책 '남보다 30분 일찍 퇴근하는 스케줄 관리 노하우'의 내용을 편집한 내용입니다. 자세한 내용은 아래의 링크에서 확인하실 수 있습니다. 전자책을 구매하시면 엑셀 프로그램 완성 파일이 함께 제공됩니다.
1. 크몽
2. 탈잉
https://taling.me/Talent/Detail/30285
VBA를 이용하여 구현하는 프로그램의 특징 중 하나는 엑셀 시트를 활용하여 GUI를 구성할 수 있다는 점입니다. 사실 프로그램 개발 시 어려운 점은 데이터를 입력하고 저장하고 이를 불러올 수 있지만 불러온 데이터를 사용자가 다시 가공하기 위해서는 개별 기능을 일일이 구현해야 하는 번거로움이 있습니다. 하지만 VBA 프로그램은 엑셀 시트에서 시작해서 엑셀 시트로 끝이 납니다. 사용자는 프로그램 중간중간 언제든지 자신이 원하는 방향으로 데이터를 가공하고 이용할 수 있습니다. 이때문에 아직도 수많은 사용자들이 Visual Basic 기반의 VBA를 이용하고 있는 것입니다.
앞으로 만들고자 하는 스케줄 관리 프로그램도 이러한 맥락에서 프로그램의 GUI에 해당하는 시트를 구성하는 데서부터 시작하고자 합니다. 앞서 이야기한 바와 같이 시트는 크게 두 부분으로 구성되는데 업무에 대한 세부사항이 기록되는 업무영역과 마일스톤이 작성되는 스케줄 영역으로 구분되게 됩니다. 그리고 시트 내에 표는 별도의 표 영역을 설정하여 향후 프로그래밍 작업 시 원활한 작업을 가능하도록 합니다.
업무영역 구성하기
업무영역을 구성하기 전 먼저 작업파일을 저장하도록 합니다. 우리는 매크로를 작성할 것이기 때문에 저장 형식은‘Excel 매크로 사용 통합문서’로 하여 저장합니다.
그다음 시트의 이름을 기본으로 할당되는 Sheet1에서 ‘업무종합’으로 변경합니다.
업무영역에는 크게 상태, 업무명, 기한(시작/종료 일시), 진행상황, 관련 문서 등으로 구분할 수 있습니다. 상태와 기한 영역을 제외하면 업무를 파악하는데 필요한 정보를 직접 입력하는 곳이며, 사용자가 어떠한 형태로든 활용하면 되는 영역입니다. 프로그래밍 시 직접 참조하게 되는 열이 몇 가지 있는데 이것이 제일 처음에 위치할 ‘상태’ 열이며, 그 다음 업무의 시작과 종료 시점을 파악할 수 있는 ‘시작’, ‘종료’ 열입니다. 향후 해당 열의 정보를 얻기 위해서는 필자가 작성하는 열의 이름과 동일한 열의 이름을 사용해야 합니다. 프로그램의 기본 작동 원리를 파악한 뒤에는 사용자의 편의에 따라 이름이나 위치 등을 마음대로 바꿀 수 있습니다.
상태
상태는 현재 업무의 진행상황이 어떠한지를 한눈에 파악할 수 있도록 만든 열입니다. 일종의 신호등이라고 생각하면 됩니다. 업무가 완료된 경우 완료 일자와 함께 녹색으로 표시되며, 현재 진행중일 때에는 노란색과 종료 일시, 기한을 지난 업무의 경우 업무 기한 날짜와 함께 붉은색으로 표시됩니다. 사용자는 상태 표시창을 보고 현재 나의 업무 진행 상태가 어떠한지를 파악할 수 있게 됩니다.
업무명
업무 파악이 가능하도록 세부 업무 이름을 작성합니다. 하나의 업무에 대해서 여러가지 세부 업무가 있을 수 있으며, 이 업무는 또 다시 복수개의 세부 업무로 구분이 됩니다. WBS(Work Breakdown Structure) 형식으로 작성하게 되는데, 이 때 주의할 점은 업무명을 작성하는 영역은 ‘자동 줄 바꿈’ 기능을 사용하지 않는 것입니다. 자동 줄 바꿈 기능을 사용할 경우 업무의 상하관계를 파악하는데 어려움이 발생하게 됩니다. 업무영역은 복수개의 레벨로 구분되는데 레벨 수준은 사용자의 업무에 따라 조정하도록 합니다. 다만 최 하위 레벨의 열의 경우 충분히 길게 만들어 업무 내용이 다음 열로 넘어가지 않도록 합니다.
기한
기한 영역에는 업무를 시작하는 일자와 종료 일자를 작성합니다. 셀 형식 지정을 통해서 날짜 포맷은 원하는 형태로 구성하면 되는데 공간 절약의 목적으로 ‘MM/DD’ 형식으로 작성합니다. 필자는 보통 스케줄 관리 프로그램을 1년 단위로 파일을 만들어 사용하는데 1년이 넘어가면 데이터의 양이 많아져 별도의 파일로 구분하여 이전 연도의 자료는 참고용으로 비교하며 보는 것이 훨씬 효율적입니다.
'프로그래밍 > 엑셀(VBA) - 스케쥴 관리 프로그램 만들기' 카테고리의 다른 글
자동으로 마일스톤을 그려보자 (1) | 2022.11.30 |
---|---|
스케쥴 영역 만들기 (0) | 2022.11.17 |
1. 이 책의 마지막에 우리가 갖게 될 결과물 (0) | 2022.10.30 |
댓글