본문 바로가기
Macros

[Excel] 엑셀매크로-엑셀에서 현재시간을 저장할 수 있나요.

by 뚜벅이라이프 2016. 2. 13.

엑셀에서 현재 시간을 반환하는 함수는 now 입니다. 그런데, 데이터가 입력된 시간을 저장하기 위해 now 함수를 사용하게 되면 낭패를 보게 됩니다. 오늘 데이터를 입력하였고 now라는 함수에 의해 현재시간이 입력되었지만, 내일 다시 파일을 열어보면 내일의 시간이 보여지게 됩니다. 사용자가 원하는 바는 어제 입력된 시간이 유지되는 것이었는데 말이죠.

엑셀에서 현재시간을 입력하고 변경이 없이 계속 저장하는 방법은 3가지가 있는데요.

그때마다 직접 입력하는 방법과 순환참조를 이용하는 방법과 매크로를 이용하는 방법입니다.

 

엑셀에서 현재시간을 저장하기

How to save current time in cell

직접 입력하기

셀에서 단축키 Ctrl + ; 을 실행하면, 현재 날짜가 자동으로 입력되며,

Ctrl + Shift + ; 을 실행하면, 현재 시간이 자동으로 입력됩니다.

물론, 시간이 지나도 입력된 값은 변경되지 않습니다만,

그때 그때 직접 입력을 해줘야 해서 번거롭습니다.



순환참조 이용하기

이 방법을 사용하려면, 먼저 [옵션]-[수식]-[계산옵션]에서

반복 계산 사용에 체크를 해야 합니다.

그리고, 시간이 표시될 셀에 다음과 같은 수식을 입력하면 되는데요.

=IF("데이터가 입력되는 셀"<>"",IF("시간이 표시될 셀"="",NOW(),"시간이 표시될 셀"),"")



이 방법은 시간이 입력되는 셀에 미리 수식이 입력되어 있어야 합니다.


두번째 IF 조건문을 보시면, 시간이 표시될 셀이 빈셀이 아닐경우

입력된 값을 유지하도록 되어 있기 때문에, now 함수를 사용하여도

맨 처음 입력된 시간이 유지되는 것입니다.


매크로 이용하기

단축키 Alt + F11 을 실행하면 매크로 입력창이 나오게 되는데요.

먼저 좌측창에서 적용하고자 하는 워크시크를 더블클릭후

우측에 나타나는 창에 아래와 같이 입력하면 됩니다.



2번째 column 즉, B열에 특정 데이터가 입력될 경우

우측으로 3열 즉, E열에 dd:hh:mm:ss의 형식으로

현재 시간이 입력되게 됩니다.


입력되는 열과 표시되는 열의 위치만 수정하여 적용하면 됩니다.


이상입니다.