Ди_Петро, смотрите вариант ниже - используя IF() и TODAY() (в русском - функции ЕСЛИ и СЕГОДНЯ) и умную таблицу. В функции ЕСЛИ двойное условие - смотрим, чтобы сегодня было не раньше начала отпуска и не позже конца его же. Эти условия перемножаются, что аналогично логическому И (AND)
А сводными - хорошая идея, попробовал - работает, буду иметь ввиду, но в файле все формы отчетов уже построены, и заново строить сводные с мерами - будет долго. К тому же там достаточно сложные отчёты - P&L и BS с детальной разбивкой. Ещё проблема в том, что этот файл растаскивается несколькими аналитиками для работы, а потом собирается. Вообщем тот ещё цирк с конями.
Кстати, глянул на свежую голову статью Максима, проверил на своём файле - все отлично работает, но не совсем то - там нет связи с моделью другого файла, это связка внутри файла. Видимо, это всё-таки импоссибл на данный момент, как написал Максим выше
PooHkrd, да, и правда цирк с конями. Может я не там копаю? У меня такая проблемка - есть отличный файлик с исходной финотчетностью (IS, BS) и кучей аналитических отчетов на разных листах, которые вытягивают данные через SUMIFS() из этого баланса и других табличек с исходными данными. Всё работает, но очень долго и мучительно пересчитывать, добавлять новые строки и т.д. так что коллеги взвыли и сказали - можно ли с этим что-то сделать, но обязательно в Экселе.
Предложил вариант загрузить этот баланс и остальные исходные данные в DAX модель через Power Query и строить отчеты через CUBEVALUE(). Работает просто на ура, все пересчитывается за секунды и вообщем все довольны, но возник вопрос - когда листы копируются/ переносятся в другой файл - формулы перестают работать, что логично, так как модель не видно. Вот я и стал смотреть, можно ли связать исходный файл с новым. Пока у меня такое ощущение, что никак и думаю вставить vba код, чтобы при переносе страницы формулы CUBEVALUE заменялись на SUMIFS, что пока не встретило понимания.
Если есть какие-то другие идеи - буду очень признателен.
написал: Чтобы сводная PP в файле Y использовала модель файла X? Импоссибл.Чтобы сводная PP в файле Y использовала напрямую таблицу из файла X? Импоссибл.
Максим, не подскажете - за 4 года что-то поменялось? Как я понял, вроде как можно создать .odc file f исходном файле и в новом файле указать этот odc файл, как новый connection? Пробовал - не работает, файл не распознается в новом файле.
По моему. много времени может тратиться на обращение к Excel в циклах For.. Next - строки 20-27 и 30-36. Код будет работать быстрее, если записать значения ячеек и цвет (Value, Color) либо в массив, либо в variant и работать с ними в коде. Так же не менять значение ячеек в строках 32 и 34 на каждой итерации цикла, а создать два Range, и обновлять их адреса (например через Union) и обновить значения после окончания цикла.
БМВ, век живи, век учись Предлагаю изменить FormatConditions(1) на DisplayFormat. Тогда ведь и количество условий становится неважным. Просто не знал про DisplayFormat
Хороший вопрос. Мне кажется, что стандартными средствами не получится, надо будет писать макрос. Если условие одно, макрос достаточно простой, если несколько условий - надо будет проверить в макросе, какое из условий выполняется.
Вот пример простого макроса, если условие одно (и оно выполняется). Надо будет два раза выбрать ячейку - сначала исходную (Select Source Cell) потом ту, в которую надо будет вставить (Select Target Cell). Проверил у себя на простом примере - сбоев не обнаружил (но они могут быть
Код
Sub CopyValueAndCondFormatColors()
Dim Source As Range, Target As Range
Set Source = Application.InputBox("Select SOURCE cell", Default:=Selection.Address, Type:=8)
Set Target = Application.InputBox("Select TARGET cell", Default:=Selection.Address, Type:=8)
Target.Value = Source.Value
If Source.FormatConditions.Count > 0 Then
With Target
.Interior.Color = Source.DisplayFormat.Interior.Color
.Font.Color = Source.DisplayFormat.Font.Color
End With
End If
End Sub
Изменено: Yurik74 - 15.09.2021 10:02:43(обновление кода для случая невыполнения условия)
Отвечу сам себе, вдруг кому пригодится Стрелочки - сделал дополнительные столбцы прозрачные, наполнил их копи пейстеными стрелками. Выглядит прикольно.
Всем привет. Спасибо за отличный сайт и форум - узнал много нового! Назрел и у меня вопрос - поиском не нашел такого. Суть в следующем:
Для презентации часто делаю график типа каскад (водопад), кто как называет. В файле - копия из презентации и мой вариант графика. То, что я смог сделать в Экселе - это сами столбики, горизонтальные линии между верхом и низом соседних столбиков и общую горизонтальную линию (т.н. линию отсечения). Не могу придумать, как сделать 1) Вертикальные стрелки от верхней границы 1 ого и 3 его столбца до определенных горизонтальных линий и верхней доп. шкаоы (в файле выделил красными овалами 1 и 2 2) Значение линии отсечения и верхней доп.шкалы чтобы справа показывались 3) Вроде решил проблему одинкаовых автоматическиз макс.значений по вертикальным осям удалением правой, но если кто знает, как можно обойтись без этого - подскажите, пжлста.
Буду признателен, если кто подскажет. Заранее благодарен и все такое!