Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбор диапазона дат, вставка итога для выборки 
:(
    Опции темы
dosh
Дата 31.5.2006, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 31.5.2006

Репутация: нет
Всего: нет



Прошу помочь. Задача: есть диапазон данных - первый столбец - дата, в остальных числовые данные. Необходимо в начале нового месяца делать выборку за прошедший месяц, переносить эти ячейки в другую книгу и вставлять строку с итогом по столбцам. В следующем месяце - тоже самое, но ниже итога предыдущего месяца. Даты идут с разрывами, то есть некоторые дни месяца пропущены.  

Это сообщение отредактировал(а) dosh - 31.5.2006, 12:45
PM MAIL   Вверх
Naghual
Дата 31.5.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



Что именно не получается?
Что уже сделано? 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
dosh
Дата 31.5.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 31.5.2006

Репутация: нет
Всего: нет



Да, ничего не сделано. Не могу придумать алгоритм, по которому делать выборку, так как диапазон строк в каждом месяце разный. Сумму переменного диапазона строк надо считать. Ничего путного в голову не лезет! По сути, два главных вопроса - выборка за месяц и сумма столбцов внутри этой выборки. 
PM MAIL   Вверх
sexton
Дата 31.5.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



А месяцы хоть как-то разделены между собой? 
PM MAIL WWW ICQ   Вверх
dosh
Дата 31.5.2006, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 31.5.2006

Репутация: нет
Всего: нет



Нет, не разделены. Исходную таблицу заполняет макрос. День закончился - данные записываются в таблицу - проставляется дата в первой колонке. 
PM MAIL   Вверх
Naghual
Дата 31.5.2006, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



Циклически пробегаеш по строкам. Следиш за датами. В пределах одного месяца делаеш накопление временных значений. По изменению месяца выполняеш действие над строками. 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
dosh
Дата 31.5.2006, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 31.5.2006

Репутация: нет
Всего: нет



А подробнее про накопление можно? 
PM MAIL   Вверх
Naghual
Дата 31.5.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



Код

Dim iVar1 as Integer

' В Цикле:
iVar1 = iVar1 + Cell(Col,Row).Value

 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
dosh
Дата 1.6.2006, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 31.5.2006

Репутация: нет
Всего: нет



Спасибо, за подсказку. Получилось вот это:
Dim A
Dim B
Dim I
Dim C
Dim iVar1 As Integer
Dim k
k = 0
A = Month(Date) - 1
B = Range("A1").End(xlDown).Row
For I = 1 To B
C = Month(Range("$A$" & I).Value)
    If A = C Then
    iVar1 = iVar1 + Cells(I, 2).Value
    k = k + 1
    End If
Next I
Range("B" & k + 1).Value = iVar1
Основа работает, а остальное уже ерунда. Огромное спасибо! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.