Вопрос № 65763: Как сделать "конвеер"?
В "Microsoft Excel" считываютя из базы в ячейки B1 "текущее время", а в ячейки с1 "данные",
содержимое изменяется в обеих ячейках через несколько секунд.
При обновлении нужно ...
Вопрос № 65.763
Как сделать "конвеер"?
В "Microsoft Excel" считываютя из базы в ячейки B1 "текущее время", а в ячейки с1 "данные",
содержимое изменяется в обеих ячейках через несколько секунд.
При обновлении нужно перенести данные в ячейки например "B2, С2", при следующем обновление "В3, С3", "В4, С4", "В5, С5" и.т.д. где-то 120 раз и возвращяются на "B2, С2", и построить график в котором будет шкала времяни и данные.
Отвечает: Макаренко Е.В.
Здравствуйте, Шкатов Роман!
Используйте прямую индексацию ячеек.
К примеру вот так:
Sub r()
Excel.ActiveWorkbook.ActiveSheet.Cells(i, j) = 10
End Sub
Строчка запишет 10 в указанную ячейку. Процедуру построения графика можно записать макросом, а потом переделать адресацию по указанному выше методу.
i - номер строки, j - номер столбца.
Индексация с единицы, а не с нуля, как определяются массивы.
--------- осторожность, точность... и горит все синим пламенем! :))
Ответ отправил: Макаренко Е.В. (статус: Практикант)
Ответ отправлен: 07.12.2006, 09:51
Отвечает: HookEst
Здравствуйте, Шкатов Роман!
Посмотрите, может это Вам поможет.
Весь код в модуле Worksheet
Я не использовал БД, а просто изменял значения случайным образом.
Запуск - процедурой start. В случае с внешним обновлением цикл не нужен, но надо как-то инициализировать Src и Dst перед началом.
По событию Worksheet_Change, если изменилось значение в "B1:C1"(Src), копируем это значение в Dst и смещаем Dst вниз на 1 строку(Offset(1)).
Если уже записано 120(DataCount) значений строим график.
Приложение:
Ответ отправил: HookEst (статус: 9-ый класс)
Ответ отправлен: 07.12.2006, 12:40