매크로 내용입니다.
Option Explicit
Dim Runst, on_sw
Sub Run() ' 실행
Application.OnKey "{F12}", "stop_key"
Call stop_key
End Sub
Public Sub Copy2cell()
DoEvents
With Sheets("Sheet2").Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
.Value = Format(Now(), "hh:mm")
.Offset(0, 1).Value = Sheets("Sheet1").Range("A2").Value
.Offset(0, 2).Value = Sheets("Sheet1").Range("B2").Value
.Offset(0, 3).Value = Sheets("Sheet1").Range("C2").Value
.Offset(0, 4).Value = Sheets("Sheet1").Range("D2").Value
End With
If on_sw = True Then Runst = Now + TimeValue("00:01:00") 'copy 시간을 지정 합니다
On Error Resume Next
Application.OnTime Runst, "Copy2cell"
On Error GoTo 0
End If
End Sub
Sub copy_stop() '종료
Application.OnKey "{F12}" End Sub Public Sub stop_key() '중지
on_sw = Not on_sw
If on_sw = True Then
Call Copy2cell
MsgBox "중지는 F12 키를 누르세요!", vbInformation, "중지 방법"
Else
On Error Resume Next
Application.OnTime Runst, "Copy2cell", schedule:=False
On Error GoTo 0 MsgBox "실행을 중지합니다!", vbInformation, "중 지"
End If
End Sub
위 매크로 예제처럼 코스피 선물지수가 DDE를 통해서 엑셀에 실시간으로 저장 되고 파일도 자동 저장 형식일 경우 개발 도구의 매크로를 열어서 새매크로나 매크로 추가해서 위 내용을 복사합니다.
매크로를 실행하여 Sheet2에서 복사되는 데이터를 확인합니다.
아래 사진처럼 실행(Run) 후 Sheet2에 데이터가 복사 되는 것을 확인 할 수 있습니다.
댓글 영역