Kathy는 이번 달의 모든 날짜를 지난 달의 마지막 날로 변경하는 공식이 필요합니다. 또한 선택한 셀 범위의 날짜에 대해이 작업을 수행 할 수있는 VBA 매크로가 있으면 도움이 될 것이라고 말합니다.

실제로 원하는 날짜를 도출하는 데 사용할 수있는 여러 가지 공식적인 접근 방식이 있습니다. 이 두 가지는 가장 짧고 사용하기 쉽습니다.

=A1-DAY(A1)

=EOMONTH(A1,-1)

첫 번째는 현재 달의 “0 일”이 항상 이전 달의 마지막 날로 간주되기 때문에 작동합니다. 따라서 A1 셀의 날짜가 9/25/20이면 해당 날짜에서 25 (DAY 값)를 빼서 날짜를 9/0/20 또는 8/31/20이됩니다.

두 번째 공식은 EOMONTH 함수에 대한 두 번째 매개 변수가 포함되어 있기 때문에 작동합니다. 이 매개 변수는 월말을 계산해야하는 과거 (음수) 또는 미래 (양수) 개월 수를 나타내는 데 사용됩니다.

두 경우 모두 수식이 포함 된 셀의 형식을 날짜로 지정해야 할 수 있습니다. 그렇지 않은 경우 Excel에서 날짜를 계산하는 데 사용하는 기본 일련 번호가 표시 될 수 있습니다.

선택한 범위의 날짜를 지난 달의 마지막 날로 실제로 변환하는 매크로를 원한다면 다음이 트릭을 수행합니다.

Sub LastDayPreviousMonth()

Dim rCell As Range

For Each rCell In Selection         If IsDate(rCell) And Not rCell.HasFormula Then             rCell.Value = WorksheetFunction.EoMonth(rCell.Value, -1)

End If     Next rCell End Sub

매크로는 선택한 범위의 각 셀을 단계별로 실행하고 날짜가 포함되어 있고 수식이 아닌지 확인합니다. (즉, 셀의 날짜가 수식의 결과이면 수식이 변경되지 않습니다.)

그런 다음 EOMONTH 함수를 사용하여 이전에 설명한대로 원하는 날짜를 계산합니다.

매크로 접근 방식은 텍스트 날짜도 변환한다는 점을 언급해야합니다. 예를 들어, 셀에 “6/15/20″날짜가 텍스트로 포함 된 경우

그러면 매크로가 5/30/20으로 변경됩니다. 조정 된 날짜가 셀에 다시 채워지면 텍스트가 아닌 날짜 / 시간 일련 번호로 표시됩니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (13304)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.