Страницы: 1
RSS
Автоматическая запись изменяющихся каждую минуту данных в таблицу
 
Задача:

Дано: в открытом листе Excel заполнены две ячейки, содержащие данные, которые меняются автоматически каждую минуту[

A1 - текущее время, формула ячейки: ТДАТА

B1 – возвращает числовое значение из другой ячейки другого листа, в которую значения поступают из интернета, значения меняются с циклом обновления 1 минута.

Требуется: создать динамическую таблицу значений в столбцах CD, начиная со второй строки

С2 – зафиксированное время и D2 – соответствующее этому времени значение из B1

С3 – зафиксированное время и D3 – соответствующее этому времени значение из B1

… и так далее, временной шаг записи данных 1 минута.

Каждую минуту должна создаваться новая строка в таблице с соответствующими новыми данными, при этом предыдущие данные таблицы должны сохраняться в неизменном виде.

Процесс останавливается только при закрытии таблицы. При новом открытии таблицы запись должна быть продолжена т.е. все данные которые были при закрытии таблицы так же сохраняются и новая строка будет создаваться под последней строкой, созданной в момент закрытия.

Весь процесс должен происходить в автоматическом режиме.

Каким образом можно решить данную задачу?

Если бы была функция, которая автоматически сохраняла значение переменной в данный момент времени так что бы в последствии это значение уже более не менялось вслед за переменной – то для решения данной задачи можно было бы обойтись стандартным функциями Excel, даже не прибегая к макросам. К сожалению я такой функции не нашел. Если такая есть – подскажите, если нет помогите найти решение другими средствами.

 
Цитата
Олег_Архипка написал: Каким образом можно решить данную задачу? [+] обойтись стандартным функциями Excel, даже не прибегая к макросам
= никак

Цитата
Каким образом можно решить данную задачу?
1. подправить процедуру, по которой
Цитата
значения поступают из интернета, значения меняются с циклом обновления 1 минута.
2. Написать КОД коорый будет отслеживать
Цитата
значения поступают из интернета, значения меняются с циклом обновления 1 минута.
и протоколировать данные.
Изменено: БМВ - 20.08.2018 18:47:01
По вопросам из тем форума, личку не читаю.
 
Олег_Архипка, лучше сразу бросайте пример файла
Изменено: ivanok_v2 - 20.08.2018 17:15:01
 
Off
И лучше в ветку работа :-)  Это шутка.
По вопросам из тем форума, личку не читаю.
 
Можно поставить вопрос иначе:
в Excel можно выбрать любую ячейку с данными (допустим B1) нажать правую кнопку мыши и выбрать команду КОПИРОВАТЬ,
затем выбрать любую пустую ячейку (допустим D2) нажать правую кнопку мыши и выбрать параметры вставки ЗНАЧЕНИЯ
В ячейке D2 отобразиться текущее значение данных из ячейки B1, теперь даже если данные в B1 изменятся в D1 они останутся такими же как при первичном заполнении.
Сейчас я описал как эта операция делается в ручную. Можно ли задать эту операцию формулой для автоматического выполнения?
 
Цитата
Олег_Архипка написал:
Сейчас я описал как эта операция делается в ручную. Можно ли задать эту операцию формулой для автоматического выполненияформулой - нет,
формулой - нет,
можно добавить свое меню на правую кнопку и назначить на него макрос
 
Хотелось бы сделать так что бы совсем кнопок не нажимать, что бы в таблицу каждую минуту в новой строке добавлялись новые записи в столбце ТЕКУЩЕЕ ВРЕМЯ и в столбце ЗНАЧЕНИЕ ПЕРЕМЕННОЙ.
Я бы назвал это протоколом изменений значения переменной. Где найти такой макрос?
 
На этом форуме. Есть точно. Вопрос, как найти?
 
Уже третий день ищу на различных форумах. Глаза опухли. К сожалению почти не владею языком VBA, так бы наверное уже разглядел ниточку, за которую уцепиться, попадались готовые решения немного схожих задач.
 
Цитата
Олег_Архипка написал:
почти не владею языком VBA,
Но русским языком то вы владеете!
Цитата
ivanok_v2 написал:
лучше сразу бросайте пример файла
- это было написано для вас, так как от того, как  
Цитата
Олег_Архипка написал:
поступают из интернета
ваши значения, зависит и методы решения вашей задачи.
По вопросам из тем форума, личку не читаю.
 
В базовый Excel встроена оболочка Power Query, с помощью которой после ввода определенного url-адреса и установки режима обновления 1 мин. в отдельной табличке появляются значения нужного мне параметра. Допустим это температура воздуха. Файл с конкретной ссылкой предоставить не могу т.к. данная информация является приватной.
 
Уже лучше,  
Если информация не изменилась, То нужно сохранять то что не менялось? с этим файлом что-то еще делается ,в промежуток между обновлениями?

Хотя зачем я вопросы задаю, ну сделаем мы вам пример на своих не приватных данных и вы все равно его не сможете адаптировать. Поример максимально приближенный к тому что надо делайте.
Изменено: БМВ - 20.08.2018 20:15:12
По вопросам из тем форума, личку не читаю.
 
Параметр очень чувствительный, вероятность того что через минуту окажется точно такое же значение почти равна нулю. Однако важно что бы каждой минуте соответствовало конкретное значение протоколируемого параметра, даже если его значение вдруг окажется точно таким же как и минуту назад.

значения в файле, расположенного по конкретному url-адресу, постоянно меняются с какой точно частотой не могу сказать т.к. не знаю, но меня вполне устраивают значения, которые фиксируются в Excel каждую минуту (т.к. именно такой параметр обновления данных можно задать в Power Query для данной связи с источником данных посредством url-адреса)
 
Я понял вам нужен реальный источник переменных данных все равно каких лишь бы прототип работал. Мне кажется в таком качестве могли бы подойти какие нибудь данные с биржи, только нужно поискать от куда и как их взять.
 
Ну разбирайтесь. Придумать запрос кроме как точного времени я не смог.

Спасибо Владимиру ZVI за пример обработки события обновления Query. Хотя если Power, то нужно поиному.
Изменено: БМВ - 20.08.2018 21:29:22
По вопросам из тем форума, личку не читаю.
 
См. Здесь
Чем шире угол зрения, тем он тупее.
 
Пример решения есть здесь - Автоматическое копирование значения по времени
 
Хочу выразить свою огромную благодарность Владимиру Захарову! Огромное вам спасибо! В разобранном вами примере действительно содержится нужное решение. Хотелось бы более детально изучить код данного макроса, что бы понять сам алгоритм, по которому выполняются действия. Еще несколько деталей с которыми столкнулся: значения параметра, которые я получаю содержит невидимый апостроф, а так же точку в записи десятичного числа. Сразу не понял в чем причина, почему все не работает, но потом разобрался. С помощью базовых функций удалил невидимые символы и заменил точку на запятую - все заработало! Однако в данной таблице почему то идет запись строки и спустя секунду снова идет запись с тем же показаниями либо с одинаковым временем либо с разницей во времени всего 1 секунда, т.е. получается все пишется двойными одинаковыми строками. У меня временной шаг обновления данных стоит 1 минута.

Так же спасибо SAS888 за предложенный вариант решения. Пока не успел испытать этот вариант, но обязательно попробую так как очень интересно получить еще один результат.
Изменено: Олег_Архипка - 21.08.2018 13:27:59 (Дописал благодарность еще одному участнику темы)
 
Присоединяюсь к вопросу Олег_Архипка: у меня тоже появилась подобная задача, подключил макрос, копирует из заданной ячейки, но как-то нерегулярно - то через секунду, то через минуту. Еще пробовал поменять интервал времени, через которое нужно копировать (поставил 5 минут), но тоже постоянно сбивается - то через 6 минут, то через 1. Очень бы помог элемент установки времени копирования, вместе с кнопками старт/стоп, а также выбор формата даты/времени - мне нужно выбирать разные интервалы (1, 5,10,15, 30 и 60 минут). Спасибо.
 
мне кажется хороший вариант сохранения историй приведен в "Приёмах" ТУТ
Страницы: 1
Наверх