Страница: 1 |
Вопрос: Выборка данных в Excel_VBA | Добавлено: 09.07.08 13:22 |
Автор вопроса: ![]() |
Здравствуйте!
Я только начинаю программировать на VBA. Пожалуйста, помогите, разобраться с кодом... Имеется отчет на листе1 по данным с непериодичным посекундным шагом времени от 00:00:.. до 23:59:.. (за сутки). Необходимо сделать выборку данных по часовому интервалу от 00-:-01ч до 23-:-24ч и выложить на лист2 в виде столбца данных по часам за период от 00-:-01ч до 23-:-24ч. Вид отчета приведен сокращенно ниже.. Я написал следующий код(пишу сокращенно): . . Sum=0 Aver=0 N=5 ' подсчет ячеек - конструктивно беру с 0:00:03(на листе excel соотвествует выбранной ячейке) J=4 . . For I= 0 to 23 v_point: Do While Cells(N,2) <> "" VremStr = Cells(J+1, 4).Value ' время DataStr = Cells(J+1, 5).Value 'данные call vznach() Sub vznach() DlStr = Len(VremStr) IF DlStr <>8 Then TimeZone =Left(VremStr,1) Else TimeZone=Left(VremStr,2) TimeC =Val(TimeZone) End If 'Делаю в подпрограмме числовую величину времени для работы с циклом по выборке значений от времени J=J+1 N=N+1 IF TimeC =I and DateStr <> "" Then 'При истинном условии здесь суммирую и считаю среднеарифметическое значение данных за временной период 00ч-:-01ч ... 'Понимаю что нужен еще один цикл для расчета остальных значений от 01ч-:-02ч до 23ч-:-24ч,но не знаю как правильно его реализовать с переносом на данных другой лист в виде таблицы: 00-:-01 данные ' 01-:-02 данные ' . . . . . ' 23-:-24 данные Sum =Sum + DateStr Aver=Aver + 1 Sredarifm = Sum / Aver GoTo v_point Else Next I Loop ----------- Вид Отчета ----------------------------------------- N дата время данные ----------------------------------------- 1 03.07.2008 23:59:53 2440,072 2 04.07.2008 0:00:03 2440,072 3 04.07.2008 0:00:13 2440,072 4 04.07.2008 0:00:24 2440,072 5 04.07.2008 0:00:54 2440,072 6 04.07.2008 0:01:04 2440,072 7 04.07.2008 0:01:24 2440,072 8 04.07.2008 0:01:44 2440,072 9 04.07.2008 0:03:35 2440,072 10 04.07.2008 0:05:05 2440,072 11 04.07.2008 0:05:25 2440,072 . . . . . . . . 105 04.07.2008 0:58:44 2443,9 106 04.07.2008 0:59:24 2443,9 107 04.07.2008 1:01:54 2443,9 108 04.07.2008 1:02:35 2443,9 109 04.07.2008 1:03:05 2443,9 . . . . . . . . . . . . 2277 04.07.2008 23:54:11 2413,274 2278 04.07.2008 23:54:21 2413,274 2279 04.07.2008 23:56:12 2413,274 2280 04.07.2008 23:57:02 2417,102 2281 04.07.2008 23:57:12 2413,274 2282 04.07.2008 23:57:22 2417,102 2283 04.07.2008 23:58:32 2417,102 2284 04.07.2008 23:58:52 2417,102 2285 04.07.2008 23:59:12 2413,274 2286 05.07.2008 0:00:03 2413,274 ------------------------------------------- Прошу подскажите, люди добрые, как правильно дописать код либо другую реализацию кода. Наверняка это решается как-то проще, но нехватает пока знаний, а времени совсем мало.. Буду очень благодарен за помощь.Спасибо. --- С уважением, Вадим Соколов |
Ответы | Всего ответов: 1 |
Номер ответа: 1 Автор ответа: ![]() ![]() ICQ: not Вопросов: 1 Ответов: 1 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 11.07.08 03:24 |
Спасибо за "помощь" - сам разобрался и сделал..
Жаль времени много потерял.. ОТСТОЙНЫЙ ФОРУМ!!! |
Страница: 1 |
|