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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2009, 05:26   #1
Scolopendra
Пользователь
 
Аватар для Scolopendra
 
Регистрация: 04.10.2008
Сообщений: 16
По умолчанию Список листов книги

Здравствуйте всем!
1) Подскажите макрос, который вставит список листов открытой книги в текущее положение курсора.
И ещё, 2) как можно суммировать определённую ячейку на всех листах открытой книги через VBA. А ещё лучше, суммировать по условию (например, все ячейки A3, если B3="Краснодар").
Scolopendra вне форума Ответить с цитированием
Старый 12.12.2009, 10:53   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от Scolopendra Посмотреть сообщение
1) Подскажите макрос, который вставит список листов открытой книги в текущее положение курсора.
2) как можно суммировать определённую ячейку на всех листах открытой книги через VBA. А ещё лучше, суммировать по условию (например, все ячейки A3, если B3="Краснодар").
1. Не понял как можно вставить список в положение курсора. Постарайтесь выразить мысль более конкретно(вып.список в ячейке создать или еще что)
2.
Код:
if [B3]="Краснодар" then
dim wsSh as worksheet,dblSumm as double
for each wsSh in Sheets
dblSumm = dblSumm + [A3]
next wsSh
end if
правда, опять же непонятно:
  • по какому событию суммировать?
  • куда потом результат вставлять(если знать, то можно обойтись без переменной dblSumm).
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 12.12.2009, 21:51   #3
Scolopendra
Пользователь
 
Аватар для Scolopendra
 
Регистрация: 04.10.2008
Сообщений: 16
По умолчанию

Массив имён листов нужно вставить начиная с ячейки на которой в данный момент находится табличный курсор («подсвеченная» ячейка), а не в жёстко заданную (вроде $A$1 и пошло вниз). Я не силён в терминах.

А суммировать нужно как в формуле =СУММЕСЛИ(). Эта формула не обрабатывает трёхмерные ссылки, а у меня в одном огромном файле куча накладных на 3 предприятия вперемешку. Вот и хотел сделать что-то типа выборки — сумма для Васи, сумма для Пети, сумма для Краснодара.

Надеюсь, что не запутал ещё больше.
Scolopendra вне форума Ответить с цитированием
Старый 12.12.2009, 21:58   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от Scolopendra Посмотреть сообщение
Надеюсь, что не запутал ещё больше.
А зря.
Полагаю как-то так, но с Вашим примером было бы лучше...
Код:
dim wsSh as worksheet
for each wsSh in Sheets
    if wsSh.name <> Activesheet.name then
          if wsSh.[B3]="Краснодар" then Activecell = Activecell + wsSh.[A3]
    end if
next wsSh
end if
Есть подозрение, что Вам надо еще предварительно найти, в которой ячейке столбца "В" каждого листа "Краснодар" находится и их суммировать, но как я уже написАл - лучше примерчик.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
добавление и переименование листов книги kievlyanin Microsoft Office Excel 12 05.08.2009 18:14
Копировние листов из одной книги в другую Jenik Microsoft Office Excel 4 04.03.2009 12:22
Выбор данных с листов через выпадающий список DimDimos Microsoft Office Excel 5 17.12.2008 11:27
Перенос данных из одной книги со многих листов в другую gavrylyuk Microsoft Office Excel 34 20.07.2008 21:39
Сортировка листов книги RUBEY Microsoft Office Excel 1 17.07.2008 10:57