Vba에서 networkdays를 사용하는 방법(예제 포함)


VBA에서 NetworkDays 메서드를 사용하여 특정 시작 날짜와 종료 날짜 사이의 전체 영업일 수를 찾을 수 있습니다.

영업일 에는 주말과 공휴일은 제외됩니다.

실제로 이 방법을 사용하는 일반적인 방법은 다음과 같습니다.

 Sub CalculateNetworkDays()

Dim i As Integer

For i = 2 To 9
    Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i

End Sub 

이 특정 예에서는 A2:A9 범위의 시작 날짜와 B2:B9 범위의 종료 날짜 사이의 영업일 수를 계산하고 C2:C9 범위의 결과를 표시합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA에서 NetworkDays를 사용하는 방법

Excel에 다음과 같은 시작 및 종료 날짜 목록이 있다고 가정합니다.

VBA에서 NetworkDays 메서드를 사용하여 각 행의 시작 날짜와 종료 날짜 사이의 전체 영업일 수를 계산한다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 Sub CalculateNetworkDays()

Dim i As Integer

For i = 2 To 9
    Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i

End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

C열에는 각 행의 시작일과 종료일 사이의 전체 영업일 수가 표시됩니다.

예를 들어:

  • 2023년 1월 2일부터 2023년 1월 3일까지의 근무일 수는 2 입니다. (이 두 날짜는 주말이기 때문에).
  • 2023년 1월 5일부터 2023년 1월 8일까지의 근무일 수는 2 입니다.
  • 2023년 1월 10일부터 2023년 1월 20일까지의 근무일수는 9 입니다.

등등.

참고 : 여기 에서 VBA의 NetworkDays 메서드에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA:날짜에서 월 이름을 얻는 방법
VBA: IsDate를 사용하여 셀이 날짜인지 확인하는 방법
VBA: mm/dd/yyyy를 날짜 형식으로 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다