Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Суммирование данных из диапазонов разных листов книги - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Суммирование данных из диапазонов разных листов книги
Saavaage Дата: Четверг, 28.02.2013, 11:20 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Уважаемые коллеги,

Делаю шаблон для анкетирования посетителей магазинов

Столкнулся с такой проблемой (кратко суть):

1. в зависимости от диапазона дат, указанных на листе "total" идет создание листов с названиями, равными датам - сделано
2. на созданные листы копируются таблицы с листа "shape" - сделано
3. в итоговой таблице листа "total" под "дата посещения" добавляются строки для каждой даты; напротив каждой даты вставляются итоговые данные из аналогичных таблиц, расположенных на вновь созданных листах - сделано

4. необходимо, чтобы на листе "total" в таблице "Результаты анкетирования" в столбцы "Совершили покупку" и "Сумма покупки" вставились формулы суммирования данных из аналогичных таблиц каждых вновь созданных листов. Конкретно имеется в виду суммирования данных в соответствующих ячейках диапазона D17:E26 листа "Total" - не сделано

По п.4 есть 1 нюанс: необходимо учесть, что диапазон на Total может смещаться вниз в зависимости от кол-ва вставленных в таблицу дат строк. Я предлагаю сделать привязку к слову "Каналы"

PS извините за сумбур, прикрепил еще 1 доп файл ("Результат"), где смоделировал конечный результат, который мне нужен - см. диапазон, выделенный красным. В самом коде макроса неудачную попытку решить проблему п.4 выделил знаками '''''''''''''

с уважением,

Виталий
К сообщению приложен файл: ____v3.xlsb (27.0 Kb) · 9793056.xlsm (47.5 Kb)


Сообщение отредактировал Saavaage - Четверг, 28.02.2013, 11:31
 
Ответить
СообщениеУважаемые коллеги,

Делаю шаблон для анкетирования посетителей магазинов

Столкнулся с такой проблемой (кратко суть):

1. в зависимости от диапазона дат, указанных на листе "total" идет создание листов с названиями, равными датам - сделано
2. на созданные листы копируются таблицы с листа "shape" - сделано
3. в итоговой таблице листа "total" под "дата посещения" добавляются строки для каждой даты; напротив каждой даты вставляются итоговые данные из аналогичных таблиц, расположенных на вновь созданных листах - сделано

4. необходимо, чтобы на листе "total" в таблице "Результаты анкетирования" в столбцы "Совершили покупку" и "Сумма покупки" вставились формулы суммирования данных из аналогичных таблиц каждых вновь созданных листов. Конкретно имеется в виду суммирования данных в соответствующих ячейках диапазона D17:E26 листа "Total" - не сделано

По п.4 есть 1 нюанс: необходимо учесть, что диапазон на Total может смещаться вниз в зависимости от кол-ва вставленных в таблицу дат строк. Я предлагаю сделать привязку к слову "Каналы"

PS извините за сумбур, прикрепил еще 1 доп файл ("Результат"), где смоделировал конечный результат, который мне нужен - см. диапазон, выделенный красным. В самом коде макроса неудачную попытку решить проблему п.4 выделил знаками '''''''''''''

с уважением,

Виталий

Автор - Saavaage
Дата добавления - 28.02.2013 в 11:20
RAN Дата: Четверг, 28.02.2013, 12:04 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Я предлагаю сделать привязку к слову "Каналы" самостоятельно.
[vba]
Код
Sub qq()
     Dim sh As Worksheet
     Dim a As Date, b, i&, sFormula$
     On Error Resume Next
     With CreateObject("Scripting.Dictionary")
         For Each sh In Sheets
             a = CDate(sh.Name)
             If a Then .Item(a) = "'" & sh.Name & "'!"
         Next
         b = .items
         For i = 0 To .Count - 1
             If i = 0 Then
                 sFormula = "=" & b(i) & "R[19]C"
             Else
                 sFormula = sFormula & "+" & b(i) & "R[19]C"
             End If
         Next
     End With
     Range("D19:E28").FormulaR1C1 = sFormula
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЯ предлагаю сделать привязку к слову "Каналы" самостоятельно.
[vba]
Код
Sub qq()
     Dim sh As Worksheet
     Dim a As Date, b, i&, sFormula$
     On Error Resume Next
     With CreateObject("Scripting.Dictionary")
         For Each sh In Sheets
             a = CDate(sh.Name)
             If a Then .Item(a) = "'" & sh.Name & "'!"
         Next
         b = .items
         For i = 0 To .Count - 1
             If i = 0 Then
                 sFormula = "=" & b(i) & "R[19]C"
             Else
                 sFormula = sFormula & "+" & b(i) & "R[19]C"
             End If
         Next
     End With
     Range("D19:E28").FormulaR1C1 = sFormula
End Sub
[/vba]

Автор - RAN
Дата добавления - 28.02.2013 в 12:04
Saavaage Дата: Четверг, 28.02.2013, 14:10 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

RAN, спасибо большое. Работает!

PS По поводу "Я предлагаю сделать привязку к слову "Каналы" самостоятельно" - согласен.


с уважением,

Boom
 
Ответить
СообщениеRAN, спасибо большое. Работает!

PS По поводу "Я предлагаю сделать привязку к слову "Каналы" самостоятельно" - согласен.

Автор - Saavaage
Дата добавления - 28.02.2013 в 14:10
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!