실시간으로 변하는 그래프
주식차트같이 누적되는 그래프가 아니라
어느 정도 누적되면 기존 데이터는 없어지고 새로운 데이터만 유입되는 방식이다.
마니또님의 코드를 99% 가져온 코드
차이점이라면
마니또님 : 주식 그래프처럼 누적 시켜나감
수정본 : 옛날 데이터는 왼쪽으로 사라지고 새로운 데이터는 오른쪽에서 나타남
이것은 원본인 마니또님의 지식인 답변
Option Explicit Public 타임 As Date, 간격 As Date, 시간 As Range, w As Byte, wsData As Worksheet Sub 시작버튼() 간격 = [저장간격] Set wsData = Sheets("누적") With wsData w = .Range("a1").CurrentRegion.Columns.Count Set 시간 = .Range("a2") End With 시간설정 이름설정 Application.OnTime 타임, "타이머" End Sub Sub 타이머() Dim r As Integer Dim varData As Variant Dim i As Integer Application.ScreenUpdating = False 시간설정 Application.OnTime 타임, "타이머" r = wsData.Range("D5") If [행수] = r Then wsData.Rows(8).Delete End If 시간.Calculate With wsData.Cells(Rows.Count, 1).End(3)(2) .Resize(, w) = 시간.Resize(, w).Value2 End With Application.ScreenUpdating = True End Sub Sub 타이머종료() On Error Resume Next Application.OnTime 타임, "타이머", Schedule:=False End Sub Sub 시간설정() 타임 = Application.Ceiling(time + TimeValue("0:0:1"), 간격) End Sub Sub 이름설정() Dim a As Range, b As Range, c As Byte, d As String, f As String Set b = Range("필드_00") With Range("필드_00") .Resize(, [열수]) = .Formula End With With ThisWorkbook For c = 2 To [열수] f = "필드_" & Format(c - 1, "00") d = "자료_" & Format(c - 1, "00") .Names.Add Name:=f, RefersTo:="=누적!" & b(1, c).Address .Names.Add Name:=d, RefersTo:="=OFFSET(" & f & ",1,,행수)" Next End With End Sub Sub 자료초기화() Range("자료_00").CurrentRegion.Offset(1).EntireRow.Delete xlUp End Sub | cs |
그래프가 실시간으로 나타나는 시트
각종 설정과 데이터가 누적되는 시트
'VB(A)' 카테고리의 다른 글
설정한 시간이 되면 매크로 실행 (0) | 2015.08.18 |
---|---|
셀값이 같은 행으로 정렬 (0) | 2015.08.09 |
하위 폴더의 파일명, 수정날짜, 경로 가져오기 (0) | 2015.07.31 |
배열의 합, 최대치 구하기 (0) | 2015.07.28 |
A시트와 B시트의 필터링 값을 각각의 파일로 저장 (0) | 2015.07.27 |