꽤 간단한 엑셀로 전자시계 만드는 방법을 알려드릴게요.
위 영상에서도 확인하실수 있지만 실시간으로 움직이는, 현재시간과 정확히 동일하게 움직이는 시계를 엑셀에 만들어보겠습니다.
우선 VBA편집기를 Alt + F11 키를 눌러서 열어야 합니다.
그리고 삽입 버튼을 눌러 모듈을 누르고 VBA 코드를 입력하시면 되는데요.
사진을 우선 보여드릴게요.
VBA 코드는 아래와 같아요.
==========================================================
Dim TimerActive As Boolean
Sub StartClock()
TimerActive = True
UpdateClock
End Sub
Sub StopClock()
TimerActive = False
End Sub
Sub UpdateClock()
If TimerActive Then
' 현재 시간을 Sheet1의 A1 셀에 표시
Sheets("Sheet1").Range("A1").Value = Format(Now, "HH:mm:ss")
' 1초 후에 UpdateClock 매크로를 다시 호출
Application.OnTime Now + TimeValue("00:00:01"), "UpdateClock"
End If
End Sub
=============================================================
그리고 삽입에서 단추를 눌러서 위 사진과 같이 버튼을 만들어주고,
각 버튼에 StartClock 과 StopClock 매크로를 연결시켜 주면 됩니다.
참 간단하죠? ^^
이 코드에 대해 더 자세한 설명을 덧붙이자면,
작동 방식 분석
- TimerActive 플래그
- TimerActive는 시계가 활성화 상태인지 확인하는 변수로, 이를 통해 UpdateClock 호출을 제어합니다.
- Now 함수
- Now는 현재 시스템 시간을 가져옵니다. 시스템 시간이 정확하다면 코드도 정확하게 동작합니다.
- 로컬 시간대(대한민국 표준시라면 KST)를 기준으로 동작합니다.
- Application.OnTime
- 1초 후에 UpdateClock 매크로를 다시 실행하도록 예약합니다.
- 이 반복 호출로 실시간 업데이트를 구현합니다.
- 시간 형식 지정
- Format(Now, "HH:mm:ss")는 24시간 형식으로 시간을 표시합니다.
작동 확인
- 컴퓨터 시스템 시간대가 **대한민국 표준시(KST)**로 설정되어 있다면 이 코드로 정확히 실시간 시간을 표시할 수 있습니다.
- 문제가 발생하지 않는다면, 추가적인 수정 없이 그대로 사용 가능합니다.
추가 개선 아이디어
- 시간 표시 위치 변경
- 현재 Sheet1의 A1 셀에만 시간이 표시됩니다. 다른 위치에 표시하고 싶다면 코드를 변경하세요:
Sheets("Sheet1").Range("B2").Value = Format(Now, "HH:mm:ss")
- 위 코드는 Sheet1의 B2 셀에 시간을 표시합니다.
- 현재 Sheet1의 A1 셀에만 시간이 표시됩니다. 다른 위치에 표시하고 싶다면 코드를 변경하세요:
- 날짜와 시간 표시
- 날짜도 함께 표시하려면 Format(Now, "yyyy-MM-dd HH:mm:ss")로 수정하세요:
Sheets("Sheet1").Range("A1").Value = Format(Now, "yyyy-MM-dd HH:mm:ss")
- 날짜도 함께 표시하려면 Format(Now, "yyyy-MM-dd HH:mm:ss")로 수정하세요:
- 다른 워크시트 적용
- Sheet1 외에 다른 워크시트에서 사용하려면, Sheets("Sheet1") 부분을 수정하여 원하는 워크시트를 지정하세요:
Sheets("MySheet").Range("A1").Value = Format(Now, "HH:mm:ss")
- Sheet1 외에 다른 워크시트에서 사용하려면, Sheets("Sheet1") 부분을 수정하여 원하는 워크시트를 지정하세요:
궁금하신 부분은 댓글 남겨주세요
감사합니다!
'Excel tip' 카테고리의 다른 글
엑셀 데이터 값의 공백, 빈칸을 제거하자. TRIM 함수와 SUBSTITUTE 함수! (0) | 2025.01.16 |
---|---|
엑셀 TEXTBEFORE 함수 - 텍스트 값에서 특정 구분값을 기준으로 원하는 값 추출하기 (0) | 2025.01.14 |
엑셀 보고서 월 변경에 따라 평균값 자동으로 바꾸는 꿀팁 (평균범위 자동지정) (0) | 2025.01.07 |
엑셀) 점을 찍어서 작성했던 텍스트형식의 날짜를 날짜형식으로 변경하는 방법. (0) | 2021.07.08 |
엑셀에서 초침이 바뀌는 시계 만들기 - 시간 자동 업데이트 팁 (3) | 2021.06.24 |
댓글