Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2012, 15:39   #1
KApSuL
Форумчанин
 
Регистрация: 04.09.2010
Сообщений: 119
По умолчанию макрос по листам

добрый день!
подскажет может кто такую проблему решить:
есть листы на каждый день месяца
есть лист недели в котором указывается с диапазоном даты (с 10.09.2012 по 17.09.2012 к примеру)
нужно сделать так, чтобы формулы считали только в листах , которые соответствуют диапазону дат

делаю так:
если дата листа входит в диапазон-тогда считать
только очень муторно получается на каждый лист формулу прописывать и очень она длинная получается

цикл какой-то нужно писать, вот только не знаю как прогнать его по листам

а с формулами получается примерно вот такое, и это только на 10 дней:
Код:
=ЕСЛИ(И('1'!$J$3>='40-тиждень'!$G$2;'1'!$J$3<='40-тиждень'!$I$2);'1'!$C$22;0)+
ЕСЛИ(И('2'!$J$3>='40-тиждень'!$G$2;'2'!$J$3<='40-тиждень'!$I$2);'2'!$C$22;0)+
ЕСЛИ(И('3'!$J$3>='40-тиждень'!$G$2;'3'!$J$3<='40-тиждень'!$I$2);'3'!$C$22;0)+
ЕСЛИ(И('4'!$J$3>='40-тиждень'!$G$2;'4'!$J$3<='40-тиждень'!$I$2);'4'!$C$22;0)+
ЕСЛИ(И('5'!$J$3>='40-тиждень'!$G$2;'5'!$J$3<='40-тиждень'!$I$2);'5'!$C$22;0)+
ЕСЛИ(И('6'!$J$3>='40-тиждень'!$G$2;'6'!$J$3<='40-тиждень'!$I$2);'6'!$C$22;0)+
ЕСЛИ(И('7'!$J$3>='40-тиждень'!$G$2;'7'!$J$3<='40-тиждень'!$I$2);'7'!$C$22;0)+
ЕСЛИ(И('8'!$J$3>='40-тиждень'!$G$2;'8'!$J$3<='40-тиждень'!$I$2);'8'!$C$22;0)+
ЕСЛИ(И('9'!$J$3>='40-тиждень'!$G$2;'9'!$J$3<='40-тиждень'!$I$2);'9'!$C$22;0)+
ЕСЛИ(И('10'!$J$3>='40-тиждень'!$G$2;'10'!$J$3<='40-тиждень'!$I$2);'10'!$C$22;0)
KApSuL вне форума Ответить с цитированием
Старый 23.10.2012, 15:43   #2
KApSuL
Форумчанин
 
Регистрация: 04.09.2010
Сообщений: 119
По умолчанию

вот файл ещё прикрепил
Вложения
Тип файла: rar zvit.rar (132.3 Кб, 11 просмотров)
KApSuL вне форума Ответить с цитированием
Старый 23.10.2012, 16:24   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

UDF
Код:
Function Kapsul(dMin As Double, dMax As Double, rCheck As Range, rSum As Range)

'dMin - начало интервала
'dMax - конец интервала
'rCheck - ячейка, которую проверять
'rSum - ячейка, которую суммировать

Dim ws, v, ws1, aCheck$, aSum$
Set ws1 = Application.Caller.Parent
aCheck = rCheck.Address
aSum = rSum.Address
For Each ws In Worksheets
    If Not ws Is ws1 Then
        v = ws.Range(aCheck)
        If v >= dMin And v <= dMax Then Kapsul = Kapsul + ws.Range(aSum)
    End If
Next

End Function
В данном случае
Код:
=Kapsul(G2;I2;J3;C22)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 23.10.2012, 16:45   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

А Вы в курсе, что на каждом листе по 141 картинке-логотипу, одна под другой? о_О
Чтобы оставить одну картинку на листе, запустите этот макрос:
Код:
Sub bb()
Dim ws As Worksheet, i&, n&
For Each ws In Worksheets
    For i = 2 To ws.Shapes.Count
        ws.Shapes(2).Delete: n = n + 1
    Next
Next
MsgBox "Удалено картинок: " & n
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 07.11.2012, 13:29   #5
KApSuL
Форумчанин
 
Регистрация: 04.09.2010
Сообщений: 119
По умолчанию

спасибо, помогли!
насчёт картинок вкурсе, вручную удалял, думал все удалил(сам не знаю кто их туда натыркал)
подскажите ещё как поменять сумму на среднее значение?

Последний раз редактировалось KApSuL; 07.11.2012 в 14:08.
KApSuL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос копирования данных по листам и увеличивающийся объем таблицы Ppaa Microsoft Office Excel 2 10.11.2011 23:15
Поиск по листам ogololobov2009 Microsoft Office Excel 2 20.05.2011 18:27
Переход по листам lavrentiyy Microsoft Office Excel 7 29.09.2010 22:56
таблица транспартировка раскидывание по листам макрос marc-nikita Microsoft Office Excel 6 12.11.2009 18:15
Макрос сортировки строк по листам noname_06 Microsoft Office Excel 8 24.01.2009 20:30