티스토리 뷰

11 엄마도 따라 할 수 있는 Excel VBA - VBA에서 날짜 사용하기

 

업무를 하다 보면 날짜를 이용 할 일이 많습니다. 오늘은 VBA에서 '날짜'를 다루는 법을 알아보겠습니다.

 

날짜를 다루려면 일단 오늘 날짜를 받아오는 법을 알아야 하고,

셀에서 날자를 추출하는 법을 알아야 하고,

추출한 날짜를 더하거나 빼거나 하는 법을 알아야 합니다.

아래 예제를 통해 감을 잡아보겠습니다.

 

예제)

아래와 같이 입고일 출고일이 있습니다. 출고일은 입고일보다 1주일(7일) 후 입니다. 오늘 날짜와 비교하여 오늘보다 입고일이 늦은 경우 입고일에 +7일 해서 출고일에 입력할 수 있도록 하고 싶습니다.

ex)B2셀이 1월 31일데 2월 7일로 바꾸고 싶은 경우

 

위에 조건에 맞는 예제를 한번 따라해 보겠습니다.

아래와 같이 날짜가 입력 되어 있습니다.

 

데이터는 아래 것을 복사해서 따라해 보겠습니다.

데이터

담당자 입고일 출고일
김경록 2013-01-31  
김선민 2013-01-22  
김지후 2013-02-12  
김연수 2013-02-12  
이지원 2013-02-12  
류승희 2013-01-22  
이지원 2013-01-01  
김윤희 2012-12-11  
강경희 2012-11-20  
신혜정 2012-10-30  
김재경 2013-01-22  
이재우 2013-02-12  
한지영 2013-03-05  
정신혜 2013-03-26  
강경리 2013-04-16  
박수정 2013-05-07  
안수진 2013-05-28  
류현주 2013-06-18  

 

소스코드

 

Sub 날짜다루기()
	For i = 2 To 19
    	nowDate = Format(Date, "yyyy-mm-dd")
        If nowDate < Range("B" & i).Value Then
        	Range("C" & i).Select
            Selection.Value = Range("B" & i).Value + 1
        End If
    Next
End Sub

위와 같이 입력하고 돌려보겠습니다.

 

소스코드 설명

이 소스에는 앞에 배웠던 3가지 기능이 종합적으로 들어가 있습니다.

반복문 for, 조건문 if, 글자 연결하기 & 이렇게 3가지 기능이 들어 있는데,

잘 이해가 가지 않으면 앞의 글을 읽어보시기 바랍니다.

2013/01/09 - [Excel VBA/VBA 배우기] - 08 엄마도 따라 할 수 있는 Excel VBA - 반복문 배우기(For Next문)

2013/01/11 - [Excel VBA/VBA 배우기] - 09 엄마도 따라 할 수 있는 Excel VBA - IF문(조건문) 배우기

 

2013/01/09 - [Excel VBA/VBA 배우기] - 05 엄마도 따라 할 수 있는 Excel VBA - 글자 연결하기 &

 

일단 오늘 날짜를 알아야 합니다. 오늘 날짜를 나오게 하는 메소드는 DateTime.Now 입니다. 그런데 Now 속성을 사용하면 시간이 같이 나옵니다. 날짜만 나오게 하려면 DateTime.DateValue() 메소드를 사용해서 DateTime.Now에서 날짜만 뽑아냅니다.

그리고 특정 셀에서 날짜 값을 가지고 와서 비교해 주어야 하는데 이때는 If문을 씁니다. 그리고 for문과 글자 연결하기 &을 이용해서 여러 셀의 내용을 바꿀 수 있습니다.

 

결과 화면

완료.

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함