Здравствуйте! Раз уж есть такая ветка в форуме, то озвучу свои предложения по увеличению функциональности надстройки PLEX: -размножить диапазон по листам; -повторно запустить последнюю использовавшуюся утилиту. Если что-то реализуете из этого буду признателен.
Тут уже было где-то... В ячейке с формулой (ами) заливать ячейки участвующие в формуле. И потом снимать заливку. Удобно визуально просматривать какие ячейки пропустил или лишние попали. Код не мой, чуть чуть подправил. Народ работает с ним
Код
Attribute VB_Name = "Заливка"
Public Sub 'HighlightCellsReferenced() ' Выделить
Dim rowCnt As Integer
Dim i As Integer, j As Integer, strleng As Integer
Dim strTxt As String, strFml As String
Dim columnStr, cellsAddress As String
Dim xRg As Range, yRg As Range
On Error Resume Next
Set xRg = Application.InputBox(Prompt:="Пожалуйста, выберите ячейки (у) с формулой...", _
Title:="Выбор ячеек", Type:=8)
ClsCLR = PickNewColor
strTxt = ""
Application.ScreenUpdating = False
For Each yRg In xRg
Set prCell = yRg
On Error Resume Next
Set prCell = Union(yRg, yRg.DirectPrecedents)
prCell.Interior.Color = ClsCLR
Next yRg
xRg.Interior.Color = ClsCLR
Application.ScreenUpdating = True
End Sub
Public Sub 'De_HighlightCellsReferenced() ' Снять выделение (прозрачный)
Dim rowCnt As Integer
Dim i As Integer, j As Integer, strleng As Integer
Dim strTxt As String, strFml As String
Dim columnStr, cellsAddress As String
Dim xRg As Range, yRg As Range
On Error Resume Next
Set xRg = Application.InputBox(Prompt:="Пожалуйста, выберите ячейки(у) с формулой...", _
Title:="Выбор ячеек", Type:=8)
ClsCLR = -4142
strTxt = ""
Application.ScreenUpdating = False
For Each yRg In xRg
Set prCell = yRg
On Error Resume Next
Set prCell = Union(yRg, yRg.DirectPrecedents)
prCell.Interior.Color = ClsCLR
Next yRg
xRg.Interior.Color = ClsCLR
Application.ScreenUpdating = True
End Sub
Function PickNewColor(Optional ByVal i_OldColor As Double = xlNone) As Double
' функция отображает диалоговое окно выбора цвета заливки
' и возвращает значение выбранного цвета
On Error Resume Next:
PickNewColor = i_OldColor
Const BGColor As Long = 13160660, ColorIndexLast As Long = 32
Dim myOrgColor As Double, myNewColor As Double, WB As Workbook
Dim myRGB_R As Integer, myRGB_G As Integer, myRGB_B As Integer
If ActiveWorkbook Is Nothing Then Application.ScreenUpdating = False: Set WB = Workbooks.Add
myOrgColor = ActiveWorkbook.Colors(ColorIndexLast) 'save original palette color
i_Color = IIf(i_OldColor = xlNone, BGColor, i_OldColor): myRGB_R = i_Color Mod 256
i_Color = i_Color \ 256: myRGB_G = i_Color Mod 256
i_Color = i_Color \ 256: myRGB_B = i_Color Mod 256
ActiveWorkbook.ResetColors 'AppActivate Application.Name
If Application.Dialogs(xlDialogEditColor).Show(ColorIndexLast, myRGB_R, myRGB_G, myRGB_B) Then
PickNewColor = ActiveWorkbook.Colors(ColorIndexLast)
ThisWorkbook.Colors(ColorIndexLast) = myOrgColor
End If
If Not WB Is Nothing Then WB.Close False: Application.ScreenUpdating = True
End Function
День добрый! Не буду отдельную тему создавать. 1. Обратил внимание на то, что при попытке перевести Лист в значение - вылетает файл без сохранения (даже авто сохранение не срабатывает). Причину выяснил - на Листе находится таблица (выгрузка из PQ), где я проводил расчеты, так вот при "ручном" переводе формул в значения - Excel ругается и не дает провести операцию в том случае когда выделяется столбец целиком, а не диапазон внутри таблицы. Учитывать ли это в надстройке, не знаю - описал больше для информации 2. При составление формулы, со сложными расчетами внутри ЕСЛИ, получаются громоздкие и плохо читабельные. Мб (как вариант) добавить некий оператор типа ЕСЛИ(*(формула)="чему то";"";*). Я понимаю, что это реализовать можно с помощью диспетчера имен, но лично мне было б удобнее так. Я не на что не претендую, просто высказываю пожелание
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
Очень не хватает в Plex такой нужной функции - Развернуть таблицу 1С как в надстройке «Финансист» http://file.1fd.ru/. Думаю такая функция просто необходима для облегчения труда финансово-экономических служб, учитывая сколько отчетов им приходится сбрасывать c 1 C в Excel и затем обрабатывать. https://youtu.be/l5ifuJpal7o
Павел, добрый день! Кто-то уже на форуме писал пожелание - добавить в менеджер листов функцию переименования. Например, собрать список всех листов, в этом списке затем рядом прописать новые названия и массово листы переименовать.
Было бы здорово добавить в Plex к функции "Разорвать все связи" или к "Очистка книги" дополнительную возможность удаления всех подключений из вкладки "Данные->Подключения" (Excel 2013), включая модель данных и удаления всех Queries созданых в PowerQuery, да и вообще удаление любых связей в книге с внешними источниками.
Это часто требуется, когда из книги нужно сделать вариант для пересылки и чтобы нигде не оставалось путей и ссылок, откуда взята информация.
Удобный инструмент "Выпадающий список с автопоиском " в последней версии. А можно сделать, что бы поиск был не только по по первым введенным символам, а по любому месту совпадения внутри стоки. Очень нужно. Или это у кого то уже реализовано?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Здравствуйте, Николай! Часто пользуюсь функцией Textsplit (разделение слипшегося текста) из Plex. Хотелось бы, чтобы эту функцию превратили в полноценный инструмент и добавили ее в группу инструментов для работы с текстом. В чем проблема: работаю с большими таблицами текстовых данных, набранных неправильно. Использую Textsplit для чистки. Но для этого надо сделать копию листа, на другом листе указать диапазон с первого, откуда брать данные, а потом еще превратить то, что получилось, в значения. Хочется, чтобы просто выделил необработанные данные, нажал на кнопку - и получил красивую таблицу (без лишнего копирования).
Выпадающий список с автопоиском" (своё видение инструмента тут) • поиск по маске • учитывать формат
Фильтровать по выделению (своё видение инструмента тут) • поиск по маске • учитывать формат
Если не менять инструмент по типу (оставить без поиска, т.к. это всё-таки форматирование по-выделению), то с форматами всё-равно нужно что-то делать…
Сборка листов из нескольких книг • маска для сбора данных с разных листов (уже учтено) • копировать скрытые и суперскрытые листы (не проверял) • отключить события (Application.EnableEvents = False), улучшить обход ошибок и открывать файл (для копирования листов) с такими параметрами:
• Переименование листов по списку (возможно с маской и регулярками, возможно встроить в менеджер) • Переименование файлов по списку (возможно с маской и регулярками, возможно добавить в Книга-Файлы) • Функции МИНЕСЛИ и МАКСЕСЛИ, т.к. у большинства нет современных версий, где они встроены • Функции склейки текста: добавить параметр "только уникальные" или сделать новую функцию типа =RangeToText(Диапазон; Optional Разделитель$=" "; Optional ПустыеУчаствуют As Boolean; Optional ТолькоУникальные As Boolean)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Wild.Godlike, да это просто на фиг не нужно с предстоящим геморроем
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄