|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
||||||
Друзья немного сократить код VBA06.12.2016, 15:58. Показов 1136. Ответов 20
Метки нет (Все метки)
Ребят, написал код. Но он слишком большой. очень много If. Как бы мне его сократить.
Механика кода проста. Есть сводная таблица, он оттуда просматривает значения и суммирует их вставляя в определенные ячейки результат моего вычисления. Т.е он находит сначала 2011 и все что меньше, выдает сумму, потом по 2012 также и до 2016.
0
|
||||||
| 06.12.2016, 15:58 | |
|
Ответы с готовыми решениями:
20
Друзья сделайте за меня код на рнр! |
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
| 06.12.2016, 16:06 | |
|
hannu, похоже тут функцией СУММЕСЛИ можно обойтись, приложите файл-пример.
0
|
|
|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
|
| 06.12.2016, 16:25 [ТС] | |
|
Вопрос в том, что там, обычная таблица завязана на сводную.
Т.е получается динамический диапазон. Т.е когда то данных больше, когда то меньше. А при помощи функции нужно обозначать определенный диапазон
0
|
|
|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
|
| 06.12.2016, 16:28 [ТС] | |
|
Вот прикладываю.
0
|
|
|
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
|
|
| 06.12.2016, 16:57 | |
|
типа такого?
0
|
|
|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
|
| 06.12.2016, 17:02 [ТС] | |
|
Не совсем, он из сводной таблицы(Лист С3) должен брать необходимые данные, суммировать их и вставлять в Т3.
Макрос на это есть, но там много переменных и If. Мне челвоек сказал что можно при помощи While сделать, он будет смотреть в сводной таблицы данные, если 4 символа левых от даты = 2016 то суммировать все ячейки с кол-во обьекта и 2016 годом. Ну и также по 2015 , 2014, 2013
0
|
|
|
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
|
||||||
| 06.12.2016, 17:08 | ||||||
|
hannu, а посмотри сам макрос. Да и... там нет третьего листа. В данном случае данные берет с первого, и результат ставит на 3 (то есть O3).
Добавлено через 1 минуту а если нужно с 1 во второй (С3 в ТЗ), то просто в макросе поменять листы Добавлено через 30 секунд
0
|
||||||
|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
|
| 06.12.2016, 17:15 [ТС] | |
|
Точно, через case. Блин сейчас поковыряюсь, сделаю. А теперь другой момент, в случае если данные поменяются он их проссумирует с предыдущими. тут я так понимаю нужен цикл на обнуление или как?
0
|
|
|
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
|
|
| 06.12.2016, 17:16 | |
|
то есть?
0
|
|
|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
|
| 06.12.2016, 17:18 [ТС] | |
|
Получается, я обновил сводную запустил макрос. Потом данные поменял запустил и он новые данные сложит с предыдущими, которые не очистились.
Получается если на сводной таблице 3 раза запустить код он будет тупо складывать и складывать складывать и складывать. А нужно чтобы один раз выдал необходимое значение.
0
|
|
|
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
|
||||||
| 06.12.2016, 17:18 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
|
| 06.12.2016, 17:27 [ТС] | |
|
да я так понимаю он очищает диапазон ячеек. Но тогда нужно будет 2 кнопки делать. Одной кнопкой очищать а второй вносить.
И второй небольшой вопрос, как сделать, чтобы он не по каждому столбцу а например по Case:a находил значения меньше 2012 и данные по колличеству квартир и по площади отражал также в таблице Т3 Добавлено через 3 минуты Т.е для следующих данных нужно будет составлять такой же код, но только смещать его верно?
0
|
|
|
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
|
|
| 06.12.2016, 17:31 | |
|
А почему нельзя составить сводную таблицу на листе ТЗ напрямую с данных?
0
|
|
|
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
|
||||||
| 06.12.2016, 17:33 | ||||||
|
hannu, не 2 кнопки...
0
|
||||||
|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
||||||
| 06.12.2016, 17:43 [ТС] | ||||||
|
Потому что сводная таблица привязана у меня к выгрузке и делается совершенно из другого массива данных. А таблица это некоторое визуальное отображение части необходимой информации
Добавлено через 10 минут
0
|
||||||
|
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
|
|
| 06.12.2016, 17:45 | |
|
а потому что там год во всех строчках меньше 2012
0
|
|
|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
|
| 06.12.2016, 17:46 [ТС] | |
|
а как же быть с 2013, 2014. ?? 2015 и 2016
0
|
|
|
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
|
|
| 06.12.2016, 17:48 | |
|
hannu, ввести в отчет :-)
0
|
|
|
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
|
|
| 06.12.2016, 17:51 [ТС] | |
|
Так там они есть. Просто почему то не собираются
Добавлено через 1 минуту там фильтр стоит в сводной, если его убрать, как раз даты другие появятся.
0
|
|
|
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
|
|
| 06.12.2016, 17:55 | |
|
hannu, последний раз. Лист СЗ - 16 строк, заполнены с 5 по 15 датами, где год меньше 2012.
Остальные данные с потолка возьму
0
|
|
| 06.12.2016, 17:55 | |
|
Помогаю со студенческими работами здесь
20
Сократить код
Сократить код
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|