Блог им. andy7065

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

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

Как должна выглядеть формула в ячейке для графика? Ну типа " if Time==«10:00:00» then A1.Data".
И макрос какой-то надо запустить для рефреша, наверное, подскажите в общем — не помню нихрена уже :))
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
    16 | ★2
    10 комментариев
    надо написать простенькую программку в VBA, которая по времени вынимает значение из этой ячейки и складывает в столбец где-то рядом
    www.askit.ru/custom/vba_office/m3/03_09_05_datetime_finctions.htm
    support.microsoft.com/ru-ru/kb/162150
    avatar
    третий способ от микрософта (метод OnTime) выглядит интересно! Если он рабочий, то надо будет взять себе на вооружение.
    avatar
    Если данные идут из квика, то в нем сделать табличку с 5-минутными барами, например 100 последних. И эту таблицу передавать в эксель и строить график.
    avatar
    Karim, не из квика, Но за идею спасибо, это где там такое?
    avatar
    Andy7065, Скрипт на QPILE формирует нужную таблицу с заданным таймфреймом.
    avatar
    Как должен выглядеть кусок кода, который раз минуту активировался бы? Прям тут напишите, плиз.
    avatar
    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


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

    Читайте на SMART-LAB:
    Accent запустил прямую покупку паев фондов недвижимости
    Покупать паи Accent стало еще проще. Мы запустили новый сервис в личном кабинете инвестора : теперь паи наших фондов можно приобретать...
    📈 ИТ-рынок России: рост в 2 раза к 2032 году и возможности для SOFL
    Друзья, вчера Б1 опубликовала новое исследование ИТ-рынка России. В этом посте обсуждаем ключевые выводы аналитиков и их значение для SOFL👇 📊...
    Рынок WorkTech и HRTech в октябре: инвестиции, сделки, M&A
    Собрали важные раунды и сделки за сентябрь. Компании активно инвестируют в безопасность ИИ-автоматизации, а через M&A расширяют продукты для найма,...
    Фото
    Циан по 993 руб. Хорошая цена для акционеров, дорогая покупка для Т-Технологий
    Т-Технологии готовы купить от 50% до 100% акций Циана по 993,05 рублей за бумагу.

    теги блога Andy7065

    ....все тэги



    UPDONW
    Новый дизайн