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를 날짜 형식으로 사용하는 방법