|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 엑셀 버전(95,97,2000,2002): 2000
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP): winXP
3. CPU (486,PentiumI/II/III/IV...): PentiumIV
4. RAM (32,64,128,256,512MB,1G...): 128
* 아래줄에 질문을 작성하세요 >>
Ontime메서드를 작성하다가 안되는 부분이 있어서 질문올립니다. 질문내용은 첨부파일 안에 있습니다.
예전에도 도움을 받았었는데 고맙습니다. 항상 행복하시고 건강하십시요.
==============[김상수님 글에 대한 답변입니다]==============
안녕하세요? 김상수 님!
간단히...아래와 같이 하십시오.
Option Explicit
'프로시저를 위한 모듈 수준 변수 선언
Dim lngT As Long
Dim datTime As Date
Dim rngS(1 To 2) As Range
Sub dhStart()
Const Es As String = "MagicSheet & 엑사모"
Set rngS(1) = Range("G2")
Set rngS(2) = Range("B1")
lngT = 1
rngS(1).ClearContents
MsgBox "1초 뒤부터 G2에 B열의 데이터가 1초마다 변경됩니다!", vbInformation, Es
'원하는 시간에 시작하도록 변경하세요
Application.OnTime Now() + TimeValue("00:00:01"), "dhAutoTimer"
End Sub
Sub dhAutoTimer()
'예를 간단히 하기 위해 20으로 제한 했스니다
If lngT >= 20 Then
Exit Sub
Else
lngT = lngT + 1
rngS(1).Value = rngS(2).Offset(lngT, 0).Value
End If
'시간을 변경하시려면
'TimeValue("00:00:01")에서 시간을 변경하세요
datTime = Now() + TimeValue("00:00:01")
Application.OnTime datTime, "dhAutoTimer" '재귀 호출
End Sub
그럼..행운이 있으시길...! |
|