Добрый день. имею группу открытых книг. Все формата .xlsm В одной из них (назовём её 1ая или основная ) по открытии которой срабатывает простенький макрос на запуск другого макроса
Код
Private Sub Workbook_Open()
Call HotKeys.CreateShortcut
End Sub
Option Explicit
(наверху в модуле прописано что Workbook - Open )
который привязывает горячие клавиши Ctrl+Shift+M к макроcу определённому макросу
Код
Sub CreateShortcut()
Application.OnKey "+^{C}", "TextJoin"
End Sub
Макрос ("свой" кастомный) TextJoin находится в 1ой"Основной" книге , ну и всё хорошо работает в рамках основной книги... В других открытых книгах (1ая "Основная" книга при этом открыта) это назначение гор клавиш перестаёт работать. Пишет ошибку "Argument Not Optional" Хотя сам макрос TextJoin запускается через Alt+F8 ... Если не через персональную книгу макросов - эту проблему можно решить? Чтобы у других людей на других компах НЕ ставить персональную книгу макросов, ибо у кого она уже есть - я так полагаю что нельзя просто её копировать с заменой, - а нужно именно довносить свои кусочки кода, что есть морока.
Как сделать так чтобы гор клавиши работали в случае если просто копируешь на другой комп 1ую «Основную» книгу ? Спасибо
Добрый день! Господа, столкнулся с такой задачей, что из диапазона (он больше чем в тестовом прилагаемом файле) нужно списком вытащить все примечания из ячеек. если-ли какой готовый макрос или где найти? Думаю вероятно такая тема уже была, ... В формате 2-х столбцовой таблички :
Содержимое ячейки
Содержимое Примечания (как текст)
...
...
Содержимое последней ячейки диапазона
Содержимое примечания последней ячейки выделенного диапазана
В самом файле примера тоже это разрисовал.
Если мне в платный раздел "работы" - скажи пожалуйста.
Добрый день! Подскажите, если в самой книге excel запрос pq (работант с 1300 строчек, при этом 88 строк кода - много обработок. Сейчас особо не заоптимизируешь - только убираеть конфиденциальные данные и выкладывать в платный раздел работа - если оптимизация запроса нужна)) НЕ обновляемый фоново обновляется за примерно 1,5 минуты. При этом в редакторе pq призодится ждать после добаления каждого шага пока прогрузится окно просмотра минут по 5-7 !! С чем это может быть связано? Даже если только зашел в редактор pq - столько же приходится ждать , чтобы просмотр обновился..
Галочка «Разрешить скачивание в фоновом режиме для предварительного просмотра данных» в настройках PQ выключена.... Процесс excel в винде поставлен в высокий приоритет - хотя это , по ходу, не влияет. Вышеперечисленное просто подрывает уже работу... 85% времени я жду пока обновляется предпросмотр в редакторе я жду обновления предпросмотра . Иногда мне в этом помогала перезагрузка компа. такая производительность это pq - это реально проблема. Комп : i5 11400, 32gb озу Есть-ли супротив этого какие-то меры? Благодарю.
Приветствую. В PQ нужно сделать 2 функции, которые бы делали: 1. Первая ) разделение на строки по разделителю ( назовём это здесь "деконкатенацией", хоть и не легитимный термин) по столбцу в ячейках которого текст в стиле:
т.е. диапазон номеров щитов, причём с разрывами, обозначенными ";". Где диапазон непрерывен (т.е. наращивание номера производится на +1) - идёт тире "-".) (разделитель разрыва диапазона в данном случае ";" - указывается как аргумент функции.)
Нужный результат по разбиению на строки вышеуказанного текста:
Наименование - Деконкатенация
Монтаж щита осветительного ЩО6.3.1
Монтаж щита осветительного ЩО6.4.1
Монтаж щита осветительного ЩО6.5.1
Монтаж щита осветительного ЩО6.6.1
Монтаж щита осветительного ЩО6.7.1
Монтаж щита осветительного ЩО6.8.1
Монтаж щита осветительного ЩО6.9.1
Монтаж щита осветительного ЩО6.10.1
Монтаж щита осветительного ЩО6.11.1
Монтаж щита осветительного ЩО6.12.1
Монтаж щита осветительного ЩО6.13.1
Монтаж щита осветительного ЩО6.14.1
Монтаж щита осветительного ЩО7.1
Монтаж щита осветительного ЩО7.2
Монтаж щита осветительного ЩО7.3
Монтаж щита осветительного ЩО7.4
Монтаж щита осветительного ЩО7.5
Монтаж щита осветительного ЩО7.6
Монтаж щита осветительного ЩО7.7
Попадать в обработку нашей функции будут таблицы по 60К строк (Такого порядка).
Обратите внимание, что различие в подгруппе ЩО6.*.1 - наблюдается во второй части индекса (между двумя точками), НЕ в третьей (после последней точки) в которой везде "1". в подгруппе ЩО7* ситуация по структуре другая: различие идёт уже после последней точки. И всё это подаётся нам слепленым - да да - в одну кучу. Так выдают сметчики, и это пока не сдвинуть.
Есть Момент. Начальная часть разная почти у всех ячеек. Это надо учесть. Я привёл выше и в файле примера далеко не все типы случаев. Если определять начальную часть совсем тяжко, надо делать голову, или это ощутимо будет замедлять и без того медленную PQ, - скажите - на этот случай я выпишу в табличку значения того ЧТО можно считать разделителями (в "табличке" выше (она не видится по итогу как таблица в этом сообщении - короче рыжий жирный текст) эти разделители принимают значения: "ЩО", "ЩРМ", "РЩИ". На этом всё конкретно в ней.... ) между начальной частью и той где находятся интервалы к разделению на строки. Потом через List.Accumulate или как-то иначе прицепим.
Вторая Функция 2) Конкатенация (очень похожа на возможный результат сцепления List'а через штатную функцию группировки, только с с нюансами , описанными ниже) по столбцу в котором содержатся ячейки в стиле:
Группировка по
Конкатенируемый столбец
РЩТ
Щит РЩТ35.4
РЩТ
Щит РЩТ36.4
РЩТ
Щит РЩТ37.4
РЩТ
Щит РЩТ38.4
РЩТ
Щит РЩТ39.4
РЩТ
Щит РЩТ41.4
РЩТ
Щит РЩТ43.4
РЩТ
Щит РЩТ44.4
РЩТ
Щит РЩТ48.4 в со-ставе:
Нужный результат:
РЩТ
Щит РЩТ35.4-39.4; 43.4-44.4; 48.4 в составе
или:
Группы этажей
Этажи
3
1
1
2
1
3
1
4
1
5
1
6
2
7
1
8
2
9
3
10
3
11
3
12
3
13
3
14
4
15
5
16
5
17
5
18
5
19
1
20
1
21
1
22
2
23
2
24
2
25
5
26
6
27
5
28
6
29
6
30
6
31
Нужный результат:
Группы этажей
Этажи
3
1, 10-14
1
2-6, 8, 20-22
2
7, 9, 23-25
4
15
5
16-19, 26, 28
6
27, 29-31
_____________________________________________________________ В файле примера я старался максимально доступно разъяснить остальные нюансы - в примечаниях к ячейкам расписал. Жирным шрифтом в примечаниях содержаться требования которые например обязательные. Не жирным шрифтом - делаем в последнюю очередь, или не делать, если это ощутимо замедляет PQ. Здесь в теле темы - тоже расписан функционал необходимый (кроме момента про разные начальные части текста к разбиению). Если наша функция PQ будет сильно тормозить (а тормозить PQ умеет хорошо) - вычисления более 20 минут - придётся сбрасывать функционал. Файлом с табличкой, которую будем прогонять через наши функции - предоставлю уже исполнителю.
Предложите Вашу цену.
Я уже несколько раз размещал тут тз на работы : мне тьфу-тьфу-тьфу всё делали я всегда платил.
Добрый день. У меня есть 2 книги (по лестницам, и по отделке техПомещений) с "кучей" листов внутри - каждый лист это - еженедельный отчёт. (К сожалению такую не лучшую практику ведения накопления отчётов в стиле "размножение листов" пока не сдвинуть, не изменить). Ещё и файлы каждую неделю переименовывают).
Желая посмотреть дельту за интересующую неделю - запилил незатейливый запрос PQ: берёт крайнюю и предкрайнюю даты из именованных диапазонов на листе, и находит дельту за нужный период. Это всё происходит в 3ей книге (_Извлечение данных (и обработка)
Вопрос: Можно-ли сократить кол-во запросов (см. рис. 1 - сейчас их 4) - чтобы иметь возможность : 1) во первых отфильтровать по дате - открыть нужный лист. (рис. 2) 2) во вторых прикрутить столбец с нужной датой (для контроля - что был открыт нужный лист и взяты данные за нужную дату)
Можно-ли это как-то красиво это сделать 2 запроса? Или может быть через функцию? Спасибо. P.S. Если мне с этим вопросом в платный раздел - скажите!PQ;
в 1-ой путь на папку где лежит файл C:\Users\SOME_USER\Desktop\Задания (чистым текстом без кавычек и без «\» на конце) .
во 2-ой имя файла самого типа Книга2 - РЕЕСТР.xlsx (опять-таки только текст без кавычек)
в 3-ей конкатенация предыдущих двух C:\Users\SOME_USER\Desktop\Задания\Книга2 - РЕЕСТР.xlsx
Хотелось бы чтобы макрос делал следующую процедуру:
1. Сначала проверил бы открыта-ли книга с данным именем?
Если ДА - то: 1.1 Зашел бы в неё и сохранил её (в нашем случае КНИГА2 – РЕЕСТР.xlsx) (если можно сделать это без активации / перехода в саму книгу - будет лучше).
1.2 Вернулся бы в исходную Книгу1, и обновил бы в ней таблицу в которую у меня прилетает выгрузка с power query Элементарным кодом типа:
ActiveWorkbook.Connections("Запрос — Запрос1 ВЫГРУЗКА ИЗ PQ ").Refresh . Т.е. мы эту КНИГУ 2 - РЕЕСТР сохраняли только потому, что с неё инфа в power query идёт.
1.2.1 Если на этапе обновления запроса вылетает ошибка внутри самой PQ (например из-за того что столбцы переименовали или удалили, неважно – любая ошибка в PQ) и соответственно макрос тоже выдаёт ошибку – то это надо выдать окошко с сообщением «Дружище, проверяй Power Query – в ней выскочила ошибка» и завершить макрос. 1.2.2. В случае если запрос успешно обновился без ошибок – никаких сообщений не нужно – просто КОНЕЦ МАКРОСА)
2. Если НЕТ (по п.1 – т.е. книга с именем, указанным во 2ой именованной ячей, путь к которой указан в 3ей именованной ячейке НЕ ОТКРЫТА) то выводится сообщение: - Книга 2 не открыта – открыть её?» И две кнопки: «да» и «нет» (благо путь на неё прописан чётко)
2.1. В случае нажатия «Да». Макрос открывает книгу по пути указанному в именованной ячейке 3.
2.1.1. В случае если не получается открыть - получаем сообщение с текстом «проверьте путь и имя файла реестра», макрос выделяет/переносит наше внимание на именованную ячейку № 3 (типа вот её проверяй) и завершается.
2.1.2. В случае если получается открыть – открывает книгу2, сохраняет её, переключается на Книгу1, обновляет запрос PQ, КОНЕЦ МАКРОСА. 2.2. В случае нажатия "Нет" - обновить запрос, завершить макрос. (обновить запрос с учетом того, что в пунктах 1.2.1 и 1.2.2)
Есть момент – макрос должен брать имя книги и путь к ней именно из именованного диапазона а не просто просто из ячейки с адресом “C2” например - это на случай того, если мои коллеги насоздают всяких разных своих столбцов и строк в таблице путей и адрес нужных ячеек изменится. Или же имя файла поменяется из которого PQ данные берёт. Для гибкости такой процедуры то бишь.
Добрый день. Для работы в рамках определённой задачи имеются 2 постоянно открытые книги . Нужен такой макрос, который бы "объединял в строку" (как это делает функция ОБЪЕДЕНИТЬ) данные ячеек выделенного диапазона (через заданный разделитель "/ ") и копировал(возвращал) бы содержимое получишийся строки объединения в Буфер обмена... По своему завершению. То есть чтобы этот результат я мог вставить в любую ячейку.
Файлик с иллюстрацией прилагаю.. При этом - обязательно нужно чтобы макрос запускался через одно и то же сочетание клавиш (например CTRL+SHIFT+C) как в одной так и в другой книге.
В рамках одной книги я смог криво-косо сделать это заюзав в макросе функцию ОБЪЕДЕНИТЬ , однако при работе во второй открытой книге на тоже самое сочетание клавиш запускается макрос с первой - и я уже не знаю как потом вернуться обратно в первую книгу по окончании макроса. По цене - предложите
Добрый день. Хочу через if и & сделать связку трех столбцов - однако если значение ячейка даже какого-то из них равно null - то мне возвращает null... не знаю в чём тут причина. Уже погуглил - ничего не нашел. Конечно, понятно, что здесь через text.combine можно сделать через разделитель потом причесав- однако и всё же: - отчего if не работает? Спасибо.
Да, на MS Word, добрый день. Господа, подскажите пожалуйста онлайн-ресурс (сайт) где можно за разумный ценник заказать (описав ТЗ) макрос на MS Word? Про MS Excel - я-то знаю что можно заказать здесь в разделе "работа" , а где на Word? Или можно и здесь на Word заказать?? Такая вот нужда... Спасибо.
Добрый день! Подскажи есть-ли способ на Excel 2019 (не 365) разбить список указанный через разделитель (например ", " или " ; ") по ячейкам? Какой функцией (не нашел оной) или функцией из надстройки PLEX или через powerquery или уже какой макрос есть на форуме в разделе "готовые решения"? Стандартный "Текст по столбцам" - мне не подходит, так как с ним много волокиты и нужно результат иметь не по столбцам а по строкам (т.е. "сверху-вниз") в 1 столбец. В файлике excel в приложении собственно проиллюстрировал это...
Добрый день. нужно сделать 2-х режимную функцию, которая бы: • В Режиме 1 перечисляла в ячейке через запятую наименование всех позиций указанных в соответствующей ячейке - типа как впр или связка индекс(поискпоз только сразу по нескольким значением разделённых разделителем ", " • В Режиме 2 суммировала бы соответствующие позиции + помножала бы на коэффициент (тоже указан через разделить после каждого вхождения номера интересующей позиции) указанный в столбце . Типа как суммесли - только по нескольким позициям одновременно...
В общем логика её работы видна на картинке (КАКИЕ РЕЗУЛЬТАТЫ ОНА ДОЛЖНА ВЫДАВАТЬ) + В ТАБЛИЧКЕ если заглянуть в ячейку - сразу становится понятно что требуется.
Предложите цену. Оплата сразу на карту СБЕР или Тиньков. Понимаю что это можно было бы заделать и на powerquery - но мне сейчас недосуг. Хочу функцией.
Добрый день! Уже 2 часа рыскаю, ищу, пробую, ничего не работает, а если и работает - то не так как надо.
Хочется макрос который бы закрашивал (например цветом R255 G100 B100) те ячейки всего определённого столбца умной таблицы ( диапазон в самом VBA у меня уже значится как Range("Обработка_Категории_Табл[Наличие в той выписке?]") - ну то есть макрорекордер мне сказал что выбор нужного мне столбца - отражается вот таким кодом. ) , которые равны "НЕТ!", и другим цветом (например R0 G250 B120) которые больше либо равны 100.
Но что бы этот макрос НЕ добавлял правила/формулы условного форматирования в их классическом экселевом понимании (см. картинку приложения), т.е. чтобы в диспетчере условного форматирования НЕ БЫЛО НИКАКИХ ПРАВИЛ (эти правила я и сам расставить могу- цель в том чтобы дополнительно не загружать проц - комп и так уже начинает тормозить). Т.е. чтобы макрос работал только по запросу, "закрасил - и оставил" - т.е. цвета бы уже не менялись даже если значения ячеек диапазона меняются. И так до следующего запуска макроса...
Если мне с этим в платный раздел, и я внатуре написал ни туда - пожалуйста скажите. Спасибо.
Добрый день. подскажите, как перегнать дату в формат ГГГГ.ММ.ДД ? Или это можно сделать только применив "Изменение типа по локали"? Тыкать какая из них подойдёт... тоже такое себе
Добрый день. Имеются две наложенные друг на друга диаграммы.
Как можно сделать так, чтобы регулировать минимальные и максимальные значения вертикальных осей этих диаграмм из указанных ячеек ?? (в данном случае ячейки G20:G21) Знаю, что эти 2 диаграммы можно сделать как бы одной комбинированной, но мне это - не вариант. Так уже случилось.
Порыскал на форуме поскачивал некоторых решений по похожему вопросу только для одной диаграммы (мне надо сразу для 2-х) -но мне не помогло =(
Есть ещё нюанс: надо чтобы регулировались оси только этих 2-х диаграмм (в файле потом появятся и другие) - в новых диаграммах диапазон по осям будет вообще в другом порядке чисел.
Если мне в платный раздел форума на фрилесн - скажите об этом))
Добрый день. Собственно давнишняя "странная" мысль по поводу чаевых за помощь в данном форме. Вот мне например не раз (тьфу тьфу тьфу) отвечали и помогали в данном форме и ничего не просили взамен... Я хотел как-то отблагодарить, но не мог, т.к. карта тинькофская, все дела. Да и запрашивать у человека какая карта у него - тоже не айс. Подчас самому помогающему отвечать на эти вопросы - такое себе. Т.е. иногда охота что-то накинуть человеку- а возможности удобной нет. В общем идея - чаевых криптой какой. Всё равно крипта будет процветать. Монетой с низкой комиссией. (на крайняк тот же DogeCoin) На уровне форума, каждому участнику.. от года например, или от кол-ва ответов (тут можно подумать), прикрепить адрес какой монеты, чтобы любой желающий мог закидывать ему денег. Так уже где-то есть на каком-то портале англоязычном.. Да и не на одном.
Добрый день! Помню в далёком 2019 году Дмитрий Priest прелюбезно написал функцию, которая суммирует значений из одного столбца, если соответствующие значения другого столбца наличествуют в списке . указанном в какой либо ячейке...
Function SumByOneCell(sCr$, rCrRange As Range, rSumRng As Range, Optional sDelim$ = ", ") Dim x, s$, dSum As Double For Each x In Split(sCr, sDelim) s = Trim(x) If Len(s) Then dSum = dSum + Application.SumIf(rCrRange, s, rSumRng) End If Next SumByOneCell = dSum End Function
И всё бы прелестно, да функция например считает за одной и тоже "2.1" и "2.10". То есть в ячейка список из трех Вот в приложенном файлике это наглядно отражено - некорректно суммирует.
То есть сумма 2.1, 2.2, Должна быть 173800,00р. А функция выдаёт 203800,00. Есть-ли умельцы которые могут подправить эту функцию? Тоже не бесплатно Спасибо!
Добрый день, господа. Вот возникла необходимость реализовать формулой следующую конструкцию : переключать просматриваемые массивы в зависимости от того начинается-ли значение ячейки J12 текстом "По умолчанию ". Если начинается с него - то просматриваем "столбец для поиска 2" (в умной табличке), если не содержит - то просматриваем ""столбец для поиска 1" в той же умной табличке. Возвращаем значение из столбца "Возвращаемый Столбец"... Думал это сделать через конструкцию типа ... ПРОСМОТРX(J12;ЕСЛИОШИБКА(ЕСЛИ(ПОИСК("по умолчанию";J12)>0;Таблица1[Столбец для поиска 2];"заглушка");Таблица1[Столбец для поиска 1]);Таблица1[Возвращаемый столбец]) однако такой вариант неизбежно выдаёт ошибку #ЗНАЧ!
Заменяю часть часть с "ЕСЛИ(ПОИСК(..." на "ЕСЛИ(ЕСЛИОШИБКА(ЕСЛИ(ПОИСК("по умолчанию";J12)>0;1;"заглушка");0)=1;Таблица1[Столбец для поиска 2];Таблица1[Столбец для поиска 1])" - всё работает.... ПОЧЕМУ ТАК? Почему первый вариант совсем не хочет функционировать, хотя казалось бы (мне казалось бы ) всё логично... Файл по данной проблеме во вложении
Добрый день! У меня именованные диапазоны по книге разбросаны. Ключевые характиристики дома... И собственно я их вытаскиваю запросом в один список, если запрос этот на данную книгу . Картинка 1. А если я пробую такой же запрос на другую книгу (в которой скажем есть такой же набор именованных диапазонов) То от меня просят literal Token и ... всё. Картинка 2 Есть-ли путь чтоб с книги достать в список нужные именованные диапазоны? Спасибоо!
Добрый день Хочу удалить надстройку по выпадающему списку (ту самую от GIG-Ant) . К ней нет нареканий, милый продукт. Однако пока нет в ней работы с дин. диапазоном (а это придётся допиливать в неё кастомно за деньги) похоже пока не для меня. В общем: Файл/Параметры/Надстройки/Перейти - уьираю галку этой надстройки. Жму "да." , жму "ОК" И при следующем запуске Excel снова появляется окно что не "можем загрузить надстройку".
Добрый день, планетяне! Сразу прошу прощения за много букв. Но не знаю уже что тут урезать. Имеется куча смет малоэтажных домов. В разных книгах, и их уже за десяток. Сама же структура Сметы постепенно "эволюционирует" (если можно так сказать) - добавляются материалы, цены на которые бежбожно меняются (от доллара и проч. - позже в планах и парсинг на цены), Добавляются столбцы/коэффициенты, ну и я формулами допиливаю способы вычисления того или иного параметра (например кол-ва досок такой-то ширины чтобы замостить такую-то площадь), прочее. Поэтому вносить все последние изменения в работу каждой отдельной книги на каждый отдельный дом - становится уже накладно. Идея: в какую-то одну (крайнюю версию) моего этого убожества загружать данные по другим домам. А в этой крайней версии(пусть это будет Таблица1) все наиболее последние способы считать, то что считаем, ну и база с материалами. Типа как в сметную программу загружается смета-файл по какому-либо отдельному дому. Возможно это звучит бредово ( прошу, не предлагайте мне купить ГрандСмету/СметуWizard/A0 или что-либо другое - в них будут свои затыки и трудности, и не будет той гибкости что даёт эксель, и без экселя всё равно будет не обойтись. А нужно считать уже сейчас). Хочется чтобы: 1. по нажатию кнопки "Загрузить" написанного макроса , открывалась формочка в которой через обзор (или как-то присанный путь) выбиралась бы нужная книга на компе, и далее в мою горемычную таблицу1 попадали бы данные и относительные формулы соответствующего домика которые; Предполагаю что это можно сделать создав что-то типа доп. системы "координат" из столбца с "кодами"-"ключами, коим я сделал столбец А, и названия заголовков (хотя тут нет умных таблиц) в строке2... см. (рис. 1.) Почему не сами экселевы номера строк и столбцов - потому что будет в будущем изменяться число и строк и столбцов.
Сразу моменты: 1) да нужно чтобы там где значение ячейки равны формуле прилетала именно относительная формулы, а не значение. (рис. 2). Т.к. кол-во строк в вышестоящих разделах и само кол-во разделов может меняться - то тут я ратую именно за относительность формулы - уж не знаю как это реализовать - через формулы в стиле R1C1 (это тоже приемлемо) или что-либо другое. Формула может указывать и на ячейки в других листах. Имена нынешних листов уже не будут меняться. И новые листы пока не появятся. 2) Да, данные должны загружаться и на другие листы... (рис. 7,8,9,10 ). (типа как фундамент, фасады, окна). Данные рисунки не демонстрируют все случаи ссылок на другие листы. Все ячейки в которых должна прилетать относительная формула я уже обозначил светложелтым цветом, На не главных листах (не лист 'ALL') ячейка котороя должна заполниться значением выделена черной заливкой с белым фрифтом. Поможет это или нет - я их расставил почти на все целевые ячейки других листов. Их совсем немного.
3) По количеству строк. Так как кол-во позиций по одно и тому же подразделу в разных домах у может быть разное (рис. 3 и рис 4) и я не хочу сразу набирать/держать строки с запасом, чтобы висела куча пустых - то, да, кол-во строк будет... должно то есть меняться в соответствии с загруженным "файлом сметы" от сметы к смете. Такой вот сатанизм. Окончание каждого подраздела я пока обозначил двойным нижним прочерком в конце "кода соответствия"-тот что в столбце А. Например "инж1__" - окончание подраздела инж1. Начало же подраздела именуется как "инж1"... Итоги разделов тоже наблюдаются явно. Эту структуру "кодов" как я их сейчас в своём дилетанстве придумал, можно и изменить по вашему предложения, главное чтобы работало и мне понятно было ПОТОМ С НИМИ УДОБНО РАБОТАТЬ. Имена разделов, примеры: "основной", "Ф" (фундамент это), "ФАСАД", "КРОВЛЯ", "ТЕРРАСА"... Добавится со временем ещё парочка. Но это потом. Так как присутвуют 5 вариантов по кровле, 4 по фундаменту, 4 по фасаду - то архитектуру кодов я пока предлагаю так... Опять-таки: если есть идея получше предлагайте.
4) Ну и в макросе должен быть быть механизм "сохранения"/выгрузки отредактированных данных обратно в файл сметы... Причем чтобы добавленные строки разделов подразделов тоже "вошли в сохраняемый файл".
5). На строке с именем 'имя подраздела' (например "инж2") есть ячейки суммирующая: стоимость заюзанных материалов по данному подразделу. (рис. 5) И такая же ячейка суммирующая стоимость всех работ. Диапазон того, что они суммируют будет меняться взависимости от кол-ва позиций данного подраздела... Сейчас это реализованно формулой и через именнованные диапазоны. И так как всё это уже начинает притормаживать...
Аналогично мог бы формулой реализовать подсчёт строк "прочие расходы" - которые есть просто денежный запас, выражаемый через произведение указанного процента на суммарную стоимость материалов по подразделу/разделу (рис.6). Количество этих строк, влияющих на эти прочие разделы - может меняться). Надо тоже сделать так чтобы макрос задавал ему правильную формулу. Чтобы руками не перетягивать. В слачаях с итогами подразделов/раздела (рис. 10) так же.
5.1) Ещё нюанс. Если в загружаемом файле дома нет какого либо раздела (рис12) - например нет раздела "инженерные системы ВК" , а в основном файле сметы оный раздел есть(рис.13) - то после загрузки этим макросом - столбцы i и j раздела должны стать пустыми. Сам же раздел должен остаться. Как и его холостые уже формулы в столбцах L и N. В будущем порядок разделов буду менять.
5.2) В столбцах L и N присутствует в большинстве как бы универсальная формула подсчета стоимости по позиции. Нужно чтобы макрос её раскопировал на большинство ячеек столбца L и N кроме строк где считается "Прочие расходы"(запас фактически), и строк итогов разделов/подразделов. Чтобы не приходилось руками копировать.
Вроде как напрашивается вариант через Power Query, но с неё я бы сдернул лишь значения, а не относительные формулы. Ведь так? Или уже нет.. Всё-таки хотелось бы лучше ждать прогрузки макроса а не обновлений запросов PQ (хоть она и замечательна) и потом ещё прогрузки макроса.
Вообще приходится многократно подгонять сметы под кошель заказчика и нужды конторы - поэтому ищутся способы для гибкости. Поверьте, не с пустого места написал тут этот странный запрос и много буковок. Многие строительные конторы ещё более убого считают. В книгах "смета домА", "смета дом Б" -более ранние версии такого же сметного расчёта... И их можно использовать в качестве прототипов загружаемых файлов в главную "Таблицу1"-смету. Всё в приложении в архиве. В Дом Б - чуть попозже довнесу имена диапазонов , если надо... Дом А в общем готов к экспериментам.
Ещё раз прошу прощения что не сделал ещё более кратко. Всё то, что здесь написано сложно - могу объяснить наглядно, за секунды, если открыть на мониторе, скажем, через TeamViewer. Кто желает поработать по данному странному заданию - напишите свои предложения по цены и качества в личку.
Только просьба - если собрались - то идти до конца - то есть если всплывут хотелки/моменты по части доработки того, что я описал здесь (мне хочется чтобы всё работало в разумных пределах универсально и надежно) - разумно договориваемся о цене на данный доп и работаем дальше.Нужен будет какой-то период обкатки. Общаться можно по TeamViewer/hangouts/zoom/skype.
Добрый день. Вот у меня платежи раскиданы по временному промежутку от 16.11.2020 по 15 мая 2021 года включительно. Но не каждый день а с неравными промежутками. Хотелось бы чтобы это было видно на временной шкале, поскольку сейчас график выглядит как на рис.1 - то есть без временных пробелов.. окей. Полез в Power Pivot (помнится там есть фишка calendarauto() который создаёт таблицу дат от начала года самой ранней даты и до конца года самой поздней.. Однако у меня нач. дата 16.11.202 то есть конец 20-го года и не нужна куч незадействоанных дат на графике.. То же и 21года касается - после его мая платежей нет! А календарь авто создаёт с 1 янв 2020 по 31.12.21... Ох.. На кнопочке Обновление Диапазона дат ничего толкового не весит
Попробовал вот этому https://powerpivotpro.com/2011/11/the-ultimate-date-table/ мануалу с азура скачать многообещающие календари от boyan penev . но азур этот такой фашизм... Бесплатно там зарегаться неполучается предлагает только платно... В поиске сами базы от Бояна Пенёва не исчуться, по вот этому урлу https://api.datamarket.azure.com/BoyanPenev/DateStream/v1/ имя сервера требует. фиг пойми какое. Пробовал с несколькими - в общем не смог... Помнится в Power Bi была фишка создания календаря с запасами (указанными) в обе стороны.. Но к BI прибегать сейчас не хочу. Как и в экселе генирить такой календаарь могу чтоб потом через PQ заносить в Power Pivot - идейно не хочется.
Господа , подскажите! Чем удобнеет сгенерить таблицу дат с 2-мя неделями запаса, от самой минимальной и самой максимальной дат диапазона?? Чтобы было от 01.11.20 по 30.05.21 . . . Заранее благодарен....
Добрый день. Может я зря создаю тут тему, и уже есть специализированная тема-"копилка"... В общем. У функции "Обмен Строк" можно-ли сделать так чтобы не приходилось строки целиком выделять? Версия плекс у меня 2015 года правда... У меня два монитора - ловить неудобно заголовок строк с номерами. Да и напрягает так точно нажимать, они меньше чем средняя ячека. Это же не Counter-Strike (c дробовиком)?) Предлагаю (если это возможно) через выделение двух диапазонов менять полностью их строки местами...
вот например, чтобы выделил два диапазона как на картинке и строки 10-13 поменялись со строками 20-23. Спасибо за внимание!
Как его убрать этот ужасный #ПЕРЕНОС! формул ????? Мне нужна формула в одной единственнной ячейке - нет блин это .. не мгновенное заполнение (или что это за монстр??) заполняет мне на ~300 строк формулу вниз, да так ещё что фиг удалишь. Только нужно вернюю удалять - тогда исчезает все эта горемычная колонка - но ведь формула в самой верхней ячейке мне всё же нужна! Уже в файл/параметры/дополнительно отключил мгновенное заполнение... Прервать эту дрянь можно только заполнив "на его пути" ячейку чем либо....
Друзья, помогите. Уже по инету ресурсов 20 прошерстил, ролики Н. Павлова уже несколько засмотрел .... Здесь по форуму рыскаю - не знаю как убрать эту напасть.... Вот (ССЫЛКА)человек тоже вроде столкнулся с похожей проблемой.. Но ему в части excel так и не ответили . По крайнй мере в русскоязычном excel я не нашел соответствующее "Extend data range formats and formulas, расположенный в Options > Advanced > Editing options" если это вообще то что нужно...
Формула которая выдаёт подобный феномент это
Код
ДВССЫЛ("'["&I1&".xlsm]ALL'!$j$5:$j$360")
(пытался заделать ссылку на диапазон из другой книги) .. как массив её совершенно не вводил.. Другие формулы этой дряни не создают..
Спасибо заранее добрым волшебникам данного форума...
День добрый. Начну с того что PLEX - замечательная вещь. Итак имеется книга. Добавляю в нее пользовательские функции PLEX . Сохраняю книгу в формате .xlam и пересылаю по электронной почте. На компьютере адресата при открытии файла наблюдается картина: то есть длинный шлейф к моему компьютеру. Остальные функции PLEX на компьютере адресата работают исправно. Все разрешения на макросы в настройках безопасности excel разрешены (простите за тафтологию) .Что делать ? График нужно отправлять многим лицам и каждый раз делать приписку мол в ячейку C4 введите "=ПРОПИСН(ЛЕВСИМВ(sheetname();ПОИСК(" ";sheetname())) & 20 & ПРАВСИМВ(sheetname();2))" и все заработает - как-то не серьезно. Какие есть пути обхода этой ситуации? Заранее благодарен.
Ума не приложу: есть два ряда данных в каждом по 10 значений. Вроде все данные выбираю правильно и если строить график каждого ряда по отдельности все получается ОК. Если же строить на одной диаграмме сразу 2 графика - получается глюк - несоразмерность с осью и рядов между собой. Пользуюсь Excel 2010. Оцените сами! Шлю файл и кусок скрина.