<HELP> for explanation

Блог им. andy7065

Господа, подскажите по экселю. Кто в VBA шарит.

В таблицу из терминалки идут данные. Идут в одну ячейку, а надо по ним построить график на 5мин.
Пока мысль такая — сделать шаблон для графика 60 ячеек на 1 день, а в куждую ячейку значение писать в опр. время.
Т.е. в 1-ю в 10:00, во 2-ю в 10:05, и т.д.
Допустим данные идут в A1.

Как должна выглядеть формула в ячейке для графика? Ну типа " if Time==«10:00:00» then A1.Data".
И макрос какой-то надо запустить для рефреша, наверное, подскажите в общем — не помню нихрена уже :))
 

надо написать простенькую программку в VBA, которая по времени вынимает значение из этой ячейки и складывает в столбец где-то рядом
www.askit.ru/custom/vba_office/m3/03_09_05_datetime_finctions.htm
support.microsoft.com/ru-ru/kb/162150
avatar

SergeyJu

третий способ от микрософта (метод OnTime) выглядит интересно! Если он рабочий, то надо будет взять себе на вооружение.
avatar

Денис

Если данные идут из квика, то в нем сделать табличку с 5-минутными барами, например 100 последних. И эту таблицу передавать в эксель и строить график.
avatar

Karim

Karim, не из квика, Но за идею спасибо, это где там такое?
Andy7065, Скрипт на QPILE формирует нужную таблицу с заданным таймфреймом.
avatar

Karim

Как должен выглядеть кусок кода, который раз минуту активировался бы? Прям тут напишите, плиз.
avatar

Andy7065

Public time_1 As Date

Sub One_Min_Timer()
' время в секундах
time_1 = Now() + 60
Application.OnTime TimeValue(time_1), «CLEAR_1»

End Sub

Sub CLEAR_1()
On Error Resume Next
' Прерываем старый таймер, иначе будет включаться каждые сутки в то же самое время.
Application.OnTime EarliestTime:=TimeValue(time_1), Procedure:=«CLEAR_1», Schedule:=False

' тут производим нужные действия
' .................

' и снова вызываем таймер
Call One_Min_Timer

End Sub

Копируй как есть в какой-нибудь из модулей.


На выходе из Workbook надо остановить таймер
Это копируй в ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)

On Error Resume Next
Application.OnTime EarliestTime:=TimeValue(time_1), Procedure:=«CLEAR_1», Schedule:=False

End Sub


Алексей Дорожинский, Спасибо!

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UP