Блог им. andy7065

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

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

Как должна выглядеть формула в ячейке для графика? Ну типа " if Time==«10:00:00» then A1.Data".
И макрос какой-то надо запустить для рефреша, наверное, подскажите в общем — не помню нихрена уже :))
    10 | ★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:
    Фото
    Нефтяной рынок получил новый источник нестабильности
    Европейские валюты во вторник оказались под давлением сразу с нескольких сторон: фондовые рынки снижаются, доллар укрепляется, а инвесторы...
    Фото
    Про нашу нейросеть ByteDog написали в Forbes
    В середине апреля мы  рассказали , что с нуля создали собственную нейросеть для поиска вредоносов, которая читает файлы как текст. Мы сделали ее...
    В Accent разработали сервис для оценки влияния недвижимости на портфель инвестора
    Группа Accent запустила интерактивный инструмент для анализа инвестиционного портфеля. Сервис, доступный на сайте компании, позволяет оценить,...
    Фото
    Какой убыток мог быть у Магнита в 2025 году?
    На этой неделе, вероятно, под занавес сезона годовых отчетов, свои результаты должен опубликовать Магнит. Что ждать и насколько все плохо?

    теги блога Andy7065

    ....все тэги



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