Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 11
1

Результат, зависящий от значения фильтра

28.02.2013, 18:27. Показов 2170. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Помогите пожалуйста, с решением проблемы:
Имеется таблица, содержащая название модели, далее период отчетов, и списки атрибутов.
Задача:
В конце таблицы под каждым периодом, после ввода имени критерия, и выбором соответствующего значения в фильтрах прописывается сумма. (пример на листе "Условие").
На остальных листах сумма подсчитывается по тому же критерию.
Количество атрибутов может быть различным.
Вложения
Тип файла: xls ModelName.xls (48.5 Кб, 6 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2013, 18:27
Ответы с готовыми решениями:

Использование результатов фильтра, если результат пустой
Очень помог ответ: Sub Макрос1() Set tbl = Sheets(1).AutoFilter.Range Set y = tbl.Offset(1,...

Нулевой (пустой) результат запроса (фильтра) - как предупредить ситуацию?
Вот какой "некрасивый результат" моего фильтра, то есть условию фильтра соответствует 0 (нуль)...

Перенос значения ячеек после использования фильтра
Вроде очень простое но не смог найти по поиску нужный ответ. Имеется два листа, на первом таблица...

Ошибка при наложении программного фильтра и фильтра на форме
Добрый день, на форме программно устанавливается фильтр записей - все хорошо. но когда средствами...

6
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
28.02.2013, 21:19 2
Цитата Сообщение от Бур Посмотреть сообщение
значения в фильтрах прописывается сумма.
Visual Basic
1
SumTemp = Application.WorksheetFunction.Subtotal(9, Range(Cells(9, 1), Cells(Rows.Count, 1).End(xlUp)))
попробуй использовать ето если подойдет....., что не понятно спрашывай

Добавлено через 47 секунд
Бур, еще возьми справку по
Цитата Сообщение от IvanOK Посмотреть сообщение
WorksheetFunction.Subtotal
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
28.02.2013, 21:29 3
А сводной таблица подойдет?

Добавлено через 3 минуты
Можно и формулой используя функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
28.02.2013, 21:45 4
Посмотри на листе 1
Вложения
Тип файла: xls ModelName.xls (54.0 Кб, 11 просмотров)
0
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 11
01.03.2013, 13:26  [ТС] 5
Сводной таблицей не пойдет.
Требуется именно после ввода критерия на листе "условие" (например смартфон), и выбора значений фильтров (например ОС-windows, android, 3G- да) комбинацией клавиш (допустим ctrl+m) считалась сумма по всем отчетам и на всех листах.
Кроме того, этих критериев может быть много и соответственно атрибутов тоже.

Добавлено через 4 часа 21 минуту
Даже вопрос в том, как перенести значение фильтров на другой лист
Допустим, на листе "Условие" выставляем фильтры
Visual Basic
1
2
3
Sheets(1).Cells(1,11).AutoFilter Field:=11, Criteria1:="Да"
Sheets(1).Cells(1,12).AutoFilter Field:=12, Criteria1:=Array( _
        "Nokia OS", "Samsung OS", "Symbian", "Windows"), Operator:=xlFilterValues
Вопрос, в том, как получить значение выбранных фильтров, и скопировать их на оставшиеся листы.
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
01.03.2013, 15:01 6
Бур, VBA-Excel-средств нет для получения результатов фильтров.
Нужно принять во внимание то, что является результатом фильтра. Результатом фильтра является то, что ненужные строки скрыты.

Поэтому нужно строки, которые не скрыты, переносить на другой лист.

Узнать скрыта строка или нет, можно с помощью:
  1. свойства Hidden;
  2. свойства Height. Если строка скрыта, то высота строки равна нулю.
Можно использовать вот такой инструмент, чтобы получить нескрытые строки:
Range.SpecialCells Method, параметр xlCellTypeVisible.

Только нужно аккуратно работать со SpecialCells, т.к. не всегда получается нужный результат. Чтобы всегда был нужный результат, нужно сначала произвести сохранение книги, а затем применить команду SpecialCells. Говорят, что можно вместо сохранения книги вызывать команду UsedRange (даже если вам эта команда и не нужна).
1
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 11
01.03.2013, 15:24  [ТС] 7
Скрипт, Большое спасибо, буду пробовать.
0
01.03.2013, 15:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2013, 15:24
Помогаю со студенческими работами здесь

Какой метод синтеза фильтра обеспечивает наименьшее число параметров фильтра при заданных ограничениях АЧХ?
Доброго времени суток! Подскажите пожалуйста,какой метод синтеза фильтра обеспечивает наименьшее...

Интеграл, зависящий от параметра
требуется решить интеграл sin(y.*x)./(-2.5), однако надо использовать только встроенные функции....

Поиск не зависящий от регистра
int Poisk (SPISOK *spisok,char *s,int n) { while (spisok->curr) { if...

Таймер, зависящий от системного времени
Всем привет, помогите пожалуйста с заданием: создать объект-таймер на примере формы, в которой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru