[ 엑셀VBA ] 입력된 날짜의 마지막 날짜 구하기 - DateAdd 함수 엑셀VBA 이야기2014. 12. 8. 22:21
[ 엑셀VBA ] 입력된 날짜의 마지막 날짜 구하기 - DateAdd 함수
대용량의 데이터를 다루는 작업을 하다보면 현재 날짜로 부터 첫날짜를 구하고 이 날짜로 부터 월의 마지막 날짜
를 구하여 월의 첫날과 마지막 날사이의 데이터 집게를 구하는 경우가 많은데 오늘을 이러한 날짜를 구하는
프로시져를 포스팅하고자 한다.
DateAdd 함수를 사용하여 구하는 데 DateAdd의 구조는 DateAdd("기간", 더하거나 뺄 기간(정수), 지정한 날짜)
의 구조로 이루어져 있다.
Dim StartDay$
Dim tmpday $
Dim EndDay $
ActiveSheet.Cells(1 1).Value = Format(ActiveSheet.Year1.Value & "-" & ActiveSheet.Mon1.Value & "-01, "YYYY-MM-DD")
'--> 먼저 Cells(1,1)에 Year1 , Mon1, Day1의 콤보박스로 부터 연 - 월 - 일을 받는다.
'--> 그 다음 마지막 일을 01일로 정하여 다음달의 첫날을 구하기 위함.
StartDay = ActiveSheet.Cells(1, 1).Value
'--> StartDay을 위의 cells(1, 1)의 값을 정의
tmpday = DateAdd("m", 1, StartDay) '--> StartDay을 위의DateAdd함수를 이용하여 m(월) 을 1을 더해 다음달을 구함.
EndDay = DateAdd("d", -1, tmpday)'--> tmpday 를 위의DateAdd함수를 이용하여 d(일) 을 1을 빼서 이번달 마지막날을 구함.
ActiveSheet.Cells(1 2).Value = ActiveSheet.Year1.Value & "-" & ActiveSheet.Mon1.Value & "-" & EndDay
'--> cells(1,2)에 현재 달의 마지막 날짜를 구한다.
여기서 Y(년), M(월), D(일), W(주)를 dateadd의 두번째 숫자입력을 통해 빼거나 더할 수 있다.
해당 함수를 잘 이용하여 업무에 잘쓰시길....
'엑셀VBA 이야기' 카테고리의 다른 글
[ 엑셀 VBA] 문자열 자료형 , 데이터 형변환 (0) | 2014.12.19 |
---|---|
[ 엑셀VBA 6 ] 불량관리 프로그램 만들기 - 데이터베이스 구성 (0) | 2014.12.18 |
[ 엑셀VBA 5 ] 불량관리 프로그램 만들기 - 조건문 Select Case (0) | 2014.12.08 |
[ 엑셀VBA ] 데이터의 형식과 변수 선언 (0) | 2014.12.08 |
[ 엑셀VBA 4 ] 불량관리 프로그램 만들기 - 반복문 For ~ next , Do while (0) | 2014.12.05 |