Vba:날짜를 주 번호로 변환하는 방법


VBA에서 다음 기본 구문을 사용하여 날짜를 주로 변환할 수 있습니다.

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i))
    Next i
    
End Sub

이 특정 예에서는 A2:A9 범위에서 각 날짜의 주 번호를 찾고 B2:B9 범위에 결과를 표시합니다.

VBA WeekNum 방법은 주가 일요일에 시작한다고 가정합니다.

다른 요일을 한 주의 시작으로 지정하려면 WeekNum 메서드에 두 번째 인수를 추가하면 됩니다.

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i), vbMonday)
    Next i
    
End Sub

다음 예제에서는 WeekNum 메서드를 사용하여 실제로 날짜를 주로 변환하는 방법을 보여줍니다.

예: VBA에서 날짜를 주 번호로 변환

Excel에 다음과 같은 날짜 열이 있다고 가정합니다.

각 날짜를 주 번호로 변환하고 B 열에 주 번호를 표시한다고 가정합니다.

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

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i))
    Next i
    
End Sub

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

VBA 날짜를 주 번호로 변환

B열에는 A열의 각 날짜에 대한 주 번호가 표시되며, 주가 일요일에 시작된다고 가정합니다.

한 주의 시작 날짜를 다른 날로 지정하려면(예: 월요일) 다음 구문을 사용할 수 있습니다.

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i), vbMonday)
    Next i
    
End Sub

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

이제 주가 월요일에 시작한다고 가정하면 B열에는 B열의 각 날짜에 대한 주 번호가 표시됩니다.

참고 : VBA WeekNum 방법에 대한 전체 설명서는 여기에서 찾을 수 있습니다.

추가 리소스

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

VBA에서 날짜를 비교하는 방법
VBA에서 문자열을 날짜로 변환하는 방법
VBA에서 두 날짜 사이의 일수를 계산하는 방법

의견을 추가하다

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