|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.12.2009, 17:50 | #1 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 14
|
Сохранение переменного значения
Доброго времени суток!
Знатоки, я столкнулся с задачей такого плана: № Текущий остаток № 1 № 2 № 3 Тип1 2965900 Тип2 2542490 Тип3 2620650 Тип4 1842850 Тип5 896000 Имеем такую таблицу, только в сотни раз больше. Столбец "текущий остаток" постоянно меняется в меньшую сторону (раз в 10 или 5 минут) Но периодически возрастает до первоначального уровня. Требуется поймать значение минимума и подставить в следующий столбец (№1, №2, № 3........ №n) Кое-какие наброски есть, но воплотить их в жизнь не получается |
04.12.2009, 21:20 | #2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте ashot-nnov.
Ваш пост совсем не похож на вопрос или просьбу. "я столкнулся...", "Имеем...таблицу..", "Требуется поймать...", "воплотить...не получается" - а помощь в чём нужна? очень мало информации для "угадывания" Вашей задачи, напишите какую помощь хотели бы получить и желательно присовокупить архивчик с файликом - образцом. Евгений. |
04.12.2009, 21:42 | #3 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 14
|
Может не совсем корректно выразился, поясняю: Столбец "остаток" формируется из внешнего источника. При достижении определённого минимума (всегда разного) он вновь возвращается к максимальной сумме. Так как обновление столбца проходит автоматически установить этот минимум весьма проблематично. Вопрос следующий: возможно ли отследить значения минимума за несколько циклов и выстроить их в соответствующих столбцах. |
05.12.2009, 12:56 | #4 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте ashot-nnov.
С выполнением Вашей задачи, если я её правильно понял, может справиться подобный код помещенный в модуль книги: Код:
|
05.12.2009, 16:07 | #5 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 14
|
Спасибо, Евгений!
Буду пробовать. |
09.12.2009, 21:59 | #6 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 14
|
Евгений, здравствуйте!
Вообщем попробовал, результат на совсем тот который исходно хотелось: В нашем файле размер диапазона ячеек B2, B3, B4 .... Bn. определяются переменной "n". Каждому Продукту соответствует свой остаток. По каждому Продукту постоянно идёт уменьшение до определённого порога, после чего опять возрастают к исходному максимуму. Цикл постоянно повторяется. Меня интересует по каждому продукту поймать наименьшее значение за 1-ый цикл, 2-ой и т.д. И в конечном счете подставить эти минимальные значения по каждому продукту в соответствующий столбец №1, №2, №3, ... №m p.s. таким образом у нас должно получится так, что как только остаток по каждому продукту увеличился, он берёт предыдущий остаток (минимальный) и подставляет его в столбец по порядку, затем через 5 минут цикл повторяется. Есть мысль вообще добавить столбец для временных значений. таким образом проверяем условие: если текущий остаток > последнего зафиксированного, то последний min остаток копируется в столбец "№1", в противном случае временное значение заменяется ещё более меньшим., дальше цикл повторяется для столбца "№2". И так для каждого Продукта. Надеюсь что смог объяснить |
10.12.2009, 01:29 | #7 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Предлагаю свой вариант на шесть переменных,при необходимости добавите,сколько необходимо.
Без циклов и массивов и дополнительных столбцов. Таймер поставил на 2 минуты,так как данные могут менятся и через 3 минуты Добавил вариант на любое количество переменных,но не более естественно 250
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 10.12.2009 в 11:41. |
10.12.2009, 22:00 | #8 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 14
|
Опять немного не то))))))
Как только увеличивается остаток - последнее зафиксированное значение, записывается в столбец по порядку В итоге написал сам: Sub proba() Dim str As Long 'диапазон строка Dim kol As Long 'кол-во строк Dim stolb As Long 'столбцы Dim ns As Long 'перебор строк kol = Sheets("Сводная").Range("A2") For str = 1 To kol ns = 1 ns = ns + str If Cells(ns, 2) >= Cells(ns, 3) Then Cells(ns, 3) = Cells(ns, 2) Else For stolb = 3 To 32 stl = 0 stl = stolb + 1 'первый столбец куда записывается последнее минимальное значение Cells(ns, stl) = Cells(ns, 3) Cells(ns, 3) = 0 'обнуляет последнее сохраненное значение Next stolb End If Next str End Sub 3 вопроса: 1) Как прописать условие чтобы не заменялись значения в заполненных столбцах, а дописывались в следующих. 2) Убрать заполнение всей строки (если запустить макрос, то при увеличении остатка одного из продуктов, отличного от последнего сохраненного значения в столбце "временные значения", заполняется вся строка) 3) Предполагается что столбцы - это дни месяца. Как сделать чтобы сохраняемые значения заполнялись в соответствии с текущим днем месяца. (остаток уменьшается в течении нескольких дней). т.е. если остаток увеличился 14 числа, то и минимальное значение которое было зафиксировано отображается в 14 столбце |
10.12.2009, 23:53 | #9 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Вам надо составить таблицу минимумов по каждому полному циклу?
Продукты своего минимума достигают в один и тот же временной интервал,или раз ные интервалы у каждого?
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 10.12.2009 в 23:58. |
12.12.2009, 09:41 | #10 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 14
|
нет, только по самому минимальному.
пример: сегодня 12 число, остаток по продуктам уменьшается в течении дня. у Продукта №35 остаток уменьшился до 300 тыс. и вернулся к 3 млн. Нам надо чтобы в строке с продуктом №35, в столбце № 12 записалось значение - 300 тыс. Свой минимум у каждого разный. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сохранение БД | Andrey174rus | Общие вопросы Delphi | 12 | 12.10.2009 23:56 |
сохранение | tolikman | Microsoft Office Excel | 6 | 30.06.2009 14:49 |
Массивы переменного размера в стеке | Voyager | Общие вопросы C/C++ | 3 | 10.04.2008 11:33 |
Сохранение | Lonix | Общие вопросы Delphi | 1 | 22.04.2007 00:15 |