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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.02.2009, 17:13   #1
mex32
Пользователь
 
Регистрация: 24.02.2009
Сообщений: 17
Восклицание В БД необходимо создать макрос, суть которого расчет итоговой строки по условию

Существует БД поставщиков с кучей признаков, которые являются (тавтология) поставщиками одного функционального подразделения. В данное подразделение (Дирекция) входит несколько предприятий.
Суть проблемы в том, чтобы создать макрос который позволил бы делать вычисления (см. файл/логика в серых ячейках) итоговых значений по конкретному показателю. При этом учитывая структурное деление (по заводам и в целом по Дирекции) и тот факт, что количество записей переменно, но всегда начинаются с 85 строки.

Вообще! Возможно написать в первой ячейке строки слово «Итого», выбрать в колонке необходимую Дирекцию (далее предприятие, или группу) и получить в соседних расчетных клетках результат?

Задача очень сложная, для меня не решаемая. Помогите, пожалуйста, добрые программеры!

P.S. Как удаль макрос, который ты уже удалил. Excel при загруске предлагает отключить вроде как уже удаленный макрос-призрак ?
Вложения
Тип файла: rar Классификатор_РД Урал.rar (64.8 Кб, 22 просмотров)
mex32 вне форума
Старый 24.02.2009, 23:36   #2
IFRSoff
Форумчанин
 
Аватар для IFRSoff
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Это очень просто! Макросы не нужны здесь. В конце каждого необходимого столбца напиши формулу "=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;`ДИАП АЗОН- НАПРИМЕР` S87:S121)". Выдели таблицу, невключая итоговую строку, включи автофильтр. Теперь можно выбирать фильтром, что нужно и получать нужные итоги
Лень - двигатель прогресса!
IFRSoff вне форума
Старый 25.02.2009, 02:35   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
P.S. Как удаль макрос, который ты уже удалил. Excel при загруске предлагает отключить вроде как уже удаленный макрос-призрак ?
В Вашем файле осталась пустая форма, и 2 пустых модуля:



Когда Вы их удалите, и сохраните файл, вопросы про макросы исчезнут.

PS: С формулами помочь не могу - не разбираюсь в них.
EducatedFool вне форума
Старый 26.02.2009, 12:18   #4
mex32
Пользователь
 
Регистрация: 24.02.2009
Сообщений: 17
По умолчанию

Спасибо, я не знал. Что касается объемов - полезная формула, для расчета суммы сгруппированных данных подходит, но вот что касается расчета средней цены - уже нет. Средняя цена рассчитывается через объем по средствам =суммпроизв(массив1;массив2)/сумм(массив1). Как в этом случае?
mex32 вне форума
Старый 26.02.2009, 12:38   #5
mex32
Пользователь
 
Регистрация: 24.02.2009
Сообщений: 17
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
В Вашем файле осталась пустая форма, и 2 пустых модуля:



Когда Вы их удалите, и сохраните файл, вопросы про макросы исчезнут.

PS: С формулами помочь не могу - не разбираюсь в них.
Так в том то и дело, что они не удаляются. Нет ни в меню, ни в контекстном меню кнопки delete. Помогите мне разобраться.
mex32 вне форума
Старый 26.02.2009, 13:31   #6
Юнлинг
Форумчанин
 
Регистрация: 17.10.2008
Сообщений: 239
По умолчанию

Цитата:
Сообщение от mex32 Посмотреть сообщение
Так в том то и дело, что они не удаляются. Нет ни в меню, ни в контекстном меню кнопки delete. Помогите мне разобраться.
Создай кнопку на форме
и на реакцию нажатой кнопки вставь макрос
Код:
For Each iVBcomponent In ThisWorkbook.VBProject.VBComponents
With iVBcomponent
Select Case .Type
Case 1 To 3: .Collection.Remove iVBcomponent
Case 100: .Codemodule.deletelines 1, .Codemodule.countoflines
End Select
End With
Next
войди в безопасность макроса
выбери закладку надежные издатели
поставь крыжек на Доверять доступ к Visual Basic Project
после чего запусти этот макрос.
И радуйся
Юнлинг вне форума
Старый 26.02.2009, 14:00   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от Юнлинг Посмотреть сообщение
Создай кнопку на форме
и на реакцию нажатой кнопки вставь макрос
...
И радуйся
Весьма оригинальный способ избавиться от кода...

Цитата:
Сообщение от mex32 Посмотреть сообщение
Так в том то и дело, что они не удаляются. Нет ни в меню, ни в контекстном меню кнопки delete. Помогите мне разобраться.
Зато в контекстном меню есть команда Remove Module1
которая по сути ничем не отличается от Delete.

Выбираете Remove, и нажимаете Нет в диалоговом окне (Excel предложит экспортировать содержимое модуля в файл перед удалением)
EducatedFool вне форума
Старый 26.02.2009, 14:28   #8
mex32
Пользователь
 
Регистрация: 24.02.2009
Сообщений: 17
По умолчанию

Большое спасибо EducatedFool. У меня к Вам будет еще одна просьба, по макросам. Задача серьезная, точнее задумка. Даже задачу сформировать не просто. Вы поможите мне?
mex32 вне форума
Старый 26.02.2009, 14:38   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от mex32 Посмотреть сообщение
Задача серьезная, точнее задумка. Даже задачу сформировать не просто. Вы поможите мне?
Если Вы не можете даже сформулировать задачу, то вряд ли кто-то сможет её решить...

Прикрепите к сообщению файл + подробное описание задания.
EducatedFool вне форума
Старый 26.02.2009, 19:17   #10
mex32
Пользователь
 
Регистрация: 24.02.2009
Сообщений: 17
Восклицание

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Прикрепите к сообщению файл + подробное описание задания.
Есть БД, в которой куча поставщиков с такой же кучей признаков (в файле только одна функц-я единица - Дирекция, к которой скоро присоединяться еще 7), огромный массив. Пользователям захочется разворачивать ее как им угодно, группируя поставщиков по признакам. При этом, по уму, по данной группе должно рассчитываться итоговое поле. Суммарный объем, средневзвешенная цена и прочие усредненные показатели.
По средствам автофильтра это можно сделать, но как быть с построением итоговой строки (с расчетом средневзвешенной цены по группе)?
Я понимаю, что мне это не по силам, поэтому искал человека способного помочь в данном вопросе. На данном форуме вы многим уже помогли, для вас многие задачи не проблема. Я постепенно разберусь, но пройдет немало времени. EducatedFool, помогите.
Описание задачи я постарался изобразить графически (в приложении) с моими комментариями. Логика в файле и достаточно прозрачна. Наличие представленного интерфейса - большое дело.
Вложения
Тип файла: rar Классификатор_РД Урал_макрос.rar (69.3 Кб, 34 просмотров)
mex32 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать макрос Светлана632 Microsoft Office Excel 9 10.02.2009 06:18
Необходимо создать файл, содержащий информацию о багаже пасажиров Андрю)(@ Помощь студентам 3 27.11.2008 10:08
Необходимо создать файл, содержащий информацию о багаже пасажиров Андрю)(@ Паскаль, Turbo Pascal, PascalABC.NET 3 26.11.2008 23:58
Имеется список,элементами которого являются вещественные числа.Создать консольное приложение,описывающее Smart Помощь студентам 1 06.05.2008 08:09
Извлечь в одну ячейку несколько значений из строки которые удовлетворяют заданному условию. Dorvir Microsoft Office Excel 5 08.04.2008 16:12