본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 엑셀

엑셀 VBA로 작업 시간 계산 자동화하기

by 포탈메이커 2023. 6. 24.

엑셀 VBA로 작업 시간 계산 자동화하기

회사에서 근무하다보면, 작업 시간을 계산해야 하는 일이 많습니다. 인적 자원팀에서는 근태 관리를 위해 근무 시간을 기록하고, 부서별로 작업 시간을 산정해야 할 경우도 있습니다. 이러한 작업을 수작업으로 하다보면 시간이 많이 소요되고, 인간적인 실수도 발생할 수 있습니다. 이때 VBA를 이용하면 작업 시간 계산을 자동화 시킬 수 있습니다.

이번 글에서는 VBA를 이용해 엑셀에서 작업 시간을 자동으로 계산하는 방법에 대해 알아보겠습니다.

 

칼퇴키트, 업무용 도구모음

칼퇴를 위해 꼭 필요한 도구 모음을 제공합니다. 당장의 업무에 필요한 순간 사용하는 가벼운 메모장, 계산기, 변환기 등

portalmaker.backtohome.kr

 

1. VBA를 이용한 작업 시간 계산 방법

VBA를 이용한 작업 시간 계산은 크게 두 가지로 나눌 수 있습니다. 첫번째는 매크로(Macro)를 이용한 방법이고, 두번째는 함수(Function)를 이용한 방법입니다. 먼저 매크로를 이용한 방법을 알아보겠습니다.


2. 매크로를 이용한 방법

매크로를 이용하는 방법은, 시트에 명령을 녹화하고, 이를 버튼으로 실행할 수 있도록 하는 방법입니다. 이 방법은 초보자가 쉽게 접근할 수 있으므로, 가장 많이 사용되는 방법 중 하나입니다.

먼저, 작업 시간을 계산할 열에 시작 시간과 종료 시간을 각각 입력합니다. 그리고, 매크로를 녹화할 준비를 합니다. 매크로를 녹화하고 버튼으로 실행할 때, 선택된 셀을 기준으로 위/아래 셀을 차례로 비교하여 작업 시간을 계산하는 코드를 작성해 주어야 합니다.

Sub Calculate_WorkingTime()
    Dim StartTime As Date
    Dim EndTime As Date
    Dim WorkingTime As Date

    StartTime = Selection.Value
    EndTime = Selection.Offset(1, 0).Value
    WorkingTime = EndTime - StartTime
    
    Selection.Offset(0, 3).Value = WorkingTime
End Sub

위 코드를 매크로로 녹화한 후, 원하는 위치에 버튼을 생성하고, 클릭하여 작업 시간을 계산해 주면 됩니다.

이 방법은 간단하고 쉽게 작업 시간을 계산할 수 있습니다. 하지만 수작업으로 버튼을 생성해야하고, 매크로를 녹화할 때 선택된 셀을 기준으로 차례로 비교하여야 하기 때문에 작업 시간 계산을 되돌릴 수 없는 문제점이 있습니다.


3. 함수를 이용한 방법

매크로 방법에서의 단점을 보완하기 위해서 함수를 이용한 방법이 있습니다. 이 방법은 매크로와 달리 코딩을 통해 작업 시간을 계산하는 함수를 만들어 사용합니다.

Function GetWorkingTime(StartTime As Date, EndTime As Date) As Date
    GetWorkingTime = EndTime - StartTime
End Function

위와 같이 작성한 함수를 열에 입력하고, 시작 시간과 종료 시간을 입력하면 계산된 작업 시간이 자동으로 출력됩니다.

이 방법은 매크로 방법에서의 단점인 수정이 가능하다는 장점이 있습니다. 하지만 함수를 이용해야 하기 때문에 초보자에겐 어려울 수 있습니다.


4. VBA를 이용해 작업 시간 계산 자동화 방법 정리

  • 시트에 작업 시작 시간과 종료 시간을 입력 후, 매크로 또는 함수를 이용해 작업 시간을 자동으로 계산합니다.
  • 매크로를 이용하면 쉽고 간편하게 계산할 수 있지만, 버튼 생성과 매크로 녹화시 선택된 셀을 기준으로 비교하기 때문에 수정이 어렵습니다.
  • 함수를 이용하면 수정이 가능하지만, 코딩을 해야 하므로 초보자에겐 어려울 수 있습니다.


5. 마치며

VBA를 이용해 작업 시간 계산을 자동화할 수 있다는 것을 알았습니다. 작업 시간을 계산하는 데에는 여러 가지 방법이 있지만, 그 중 매크로와 함수를 이용한 방법을 알아보았습니다. 각 방법마다 장단점이 있으므로, 자신에게 적합한 방법을 선택해서 사용하시면 됩니다.

 



포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!

행복한 하루 되세요!