Vba를 사용하여 월의 첫날을 찾는 방법(예제 포함)


VBA에서 DateSerial() 함수를 day 인수 값 1 과 함께 사용하면 특정 셀의 날짜에 대한 월의 첫 번째 날을 찾을 수 있습니다.

예를 들어 다음 구문을 사용하여 A1 셀의 날짜에 해당하는 달의 첫 번째 날을 찾고 해당 날짜를 B1 셀에 반환할 수 있습니다.

 dateVal = DateValue(Range(" A1 "))

Range(" B1 ").Value = DateSerial(Year(dateVal), Month(dateVal), 1)

예를 들어, 셀 A11/5/2023이 포함되어 있으면 셀 B1은 1/1/2023을 반환합니다.

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

예: VBA를 사용하여 해당 월의 첫날 찾기

회사의 다양한 날짜에 발생한 매출에 대한 정보가 포함된 다음과 같은 데이터 세트가 Excel에 있다고 가정합니다.

A 열의 각 날짜에 대해 해당 월의 첫날을 찾고 C 열의 해당 셀에 날짜를 반환한다고 가정합니다.

이를 위해 다음 구문을 사용할 수 있습니다.

 SubFirstDayOfMonth ()

Dim i As Integer

For i = 2 To 11
    dateVal = DateValue(Range(" A " & i))
    Range(" C " & i).Value = DateSerial(Year(dateVal), Month(dateVal), 1)
Next i

End Sub

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

VBA는 매월 첫 번째 날을 찾습니다.

C 열의 각 날짜는 A 열의 해당 날짜에 대한 월의 첫 번째 날을 나타냅니다.

참고 #1: 코드에서는 A2부터 A11까지의 셀에 관심 있는 날짜가 포함되어 있으므로 For i = 2 ~ 11을 사용했습니다. 사용하려는 셀 범위에 따라 이 범위를 자유롭게 변경하세요.

참고 #2 : VBA의 DateSerial() 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.

추가 리소스

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

VBA에서 날짜순으로 정렬하는 방법
VBA에서 두 날짜 사이에 추가하는 방법
VBA에서 날짜보다 큰 값을 계산하는 방법

의견을 추가하다

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