Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 След.
Тесты. Новые функции Excel 365 (по подписке) против VBA, Tests. New Excel 365 WorkSheetsFunctions vs VBA
 
Приветствую!
Готовлю тестовый стенд для примера отсюда
Сам новых функций не имею, так что тестеры приветствуются (Бахтиёр в деле)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
«If … Then» или «Select Case» — сравнение методов ветвления по скорости, Speed test
 
Приветствую!
Отчёт
Изменено: Jack Famous - 22.09.2021 10:02:09
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Конвертор времени. Преобразование Дней, Часов, Минут и/или Секунд в последовательный временной отрезок, Time Convertor. Transform Days, Hours, Minutes and Seconds to normal TimeLine
 
Приветствую!
Зачем
Файл, скрин и код
Изменено: Jack Famous - 16.09.2021 12:10:11
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Преобразовать Текст в Число. Тесты методов и обзор нюансов, Text To Num. Test transform methods and tricks
 
Приветствую!
Тема большая, но надо с чего-то начать

Первые тесты - по скорости и нюансам преобразования числа в виде текстовой переменной с десятичным разделителем в виде точки и запятой
Первое приближение
Рабочая версия
Изменено: Jack Famous - 14.09.2021 13:26:58
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Ценообразующие позиции по указанному порогу, The main parts (by a threshold) of a total sum
 
Приветствую!
По работе разработал макрос для сметчиков и прочих сотрудниках, желающих быстро и легко получить список позиций, являющихся ценообразующими в своей группе по указанному пороговому %
Решил закрепить темой на форуме - макрос, конечно, сильно другой (главное, что понятный и рабочий), но основная идея та же
Описание-алгоритм + скрин + код

В файле Топ ценообразующих.xlsb (23.05 КБ) также присутствует формульная реализация
Какой вариант (формульный или макросный) использовать — решать вам, но, в любом случае, принцип работы знать нужно обязательно  ;)
Изменено: Jack Famous - 09.09.2021 13:50:54
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Как попасть в Копилку?
 
Приветствую!

В Копилке идей всего 13 (!!!) тем-решений, последнее из которых аж в 18ом году, то есть 3 (!!!) года назад
Что нужно сделать, чтобы разместить свои темы там?
Список тем:
Изменено: Jack Famous - 03.09.2021 17:23:42
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Макрос для простановки в отчёте промежуточных итогов (в виде формул =СУММ() ) по числовым уровням с неоднородной структурой, VBA. SubTotals. Insert SUM-formulas by macro in report with bad structure
 
Приветствую!
Написал по работе быстрый макрос для простановки промежуточных итогов в виде формул =СУММ()
Делюсь с общественностью. Тестируйте, спрашивайте, предлагайте правки  :)
Для чего:
Скрины и Код
Файл: SubTotals.xlsb (32.46 КБ)
Изменено: Jack Famous - 03.09.2021 17:05:49
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Комбинаторика. Генератор фраз из заданных фрагментов
 
Приветствую!
Реализован макросом «Способ 2. Через Power Query» из одноимённой темы Приёмов

Зачем: иногда приходится генерировать все сочетания из заданных списков (именно, как в примере про PQ), но крайне неудобно каждый раз строить модель PQ для разного количества столбцов

Тестируйте, спрашивайте, предлагайте другие варианты (в том числе другими инструментами)
Скрины
КОД

Файл: Combin. Phrase Generator.xlsb (22.01 КБ)
Изменено: Jack Famous - 20.08.2021 10:06:08
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Как корректно изменить цены, не меняя количество, чтобы сумма по прайсу стала равна заданной, Пропорция и/или скользящее округление формулами, PQ, VBA и прочими инструментами
 
Приветствую!

Дано: 2 столбца (количество "КОЛ" и цена за 1 единицу измерения "ЦЕНА")
Задача: получить НОВЫЕ ЦЕНЫ (путём вычисления коэффициента умножения) так, чтобы НОВАЯ СУММА (КОЛ * НОВ ЦЕНА) стала равна заданной (копейка в копейку)
Ограничения:
    • НОВЫЕ цены и суммы должны быть округлены (на самом деле, а не форматом) до 2ух знаков
    • все количества и цены больше ноля (иначе зачем всё это)
    • КОЛИЧЕСТВО может НЕ быть целочисленным (это нормальное явление, которое нужно учитывать)

Пропорция в данном случае полностью задачу не решает - остаётся хвост в 5 рублей, который надо куда-то прятать
Скрины «анализ», «вручную» и  «скользящее»
Вдохновлялся этой темой (пример как раз оттуда) и производственной необходимостью по работе  :)
Поиск по форуму «Скользящее округление» (особое внимание на посты sokol92 и БМВ)

Файл: Math. Proportion.xlsb (42.19 КБ)

UPD1: Понял, что задача не так проста, какой показалась. Всё-таки это комбинаторика, а не простая математика и логика
Полагаю, что можно свести задачу к виду «Изменить цены, не меняя количества так, чтобы сумма по прайсу стала равна заданной, а также свести к минимуму отклонения коэффициентов каждой цены от среднего коэффициента по всем ценам»

UPD2: VBA. Вариант через пошаговое приближение (принцип, как формулами на листе «скользящее»)
Изменено: Jack Famous - 23.08.2021 15:23:22
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Прогрессивное налогообложение. Реализация кодом, функциями листа, Power Query и другими инструментами, Progressive tax in VBA, WorksheetFunction, Power Query and other
 
Приветствую!
Предлагаю поучаствовать в реализации расчёта прогрессивного налогообложения (вики) на примере подоходного налога РФ
Скрин с вики про подоходный налог и таблица расчёта (есть в файле)
VBA
Файл: Прогрессивный налог.xlsb (16.57 КБ)
Изменено: Jack Famous - 06.08.2021 11:08:19
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Проверка текста по маске, String Like Mask. Fast and Easy
 
Приветствую!

В процессе ускорения своих макросов столкнулся с невероятной эффективностью проверки строки по маске и создал тему, чтобы подробно разобрать вопрос и оттестировать основные моменты для понимания
Тестировать буду на реальной задаче, слегка упрощённой для теста: Преобразовать латиницу в похожую кириллицу
Зачем проверять строку?
Этап №1. Сравнение разных масок на разных строках (присутствует вывод прогресса в статусбар)
Этап №2. InStr сильно ускоряет Replace, а вместе с Like получается ещё быстрее
Этап №3. Большой сравнительный тест необходимости проверки по маске
Коды
Изменено: Jack Famous - 16.06.2021 17:41:26
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Список файлов. Как получить из заданной папки, включая все подпапки
 
Приветствую!

Тема родилась из очередного соревнования
У меня есть готовая и надёжная функция (брал давно отсюда), основанная на FSO и использующая рекурсивный перебор, но мне дали понять, что есть варианты не менее надёжные, но гораздо более шустрые и основанные на библиотеке Shell32 (применить не смог - набросал только каркас макроса)
Для теста моего варианта, нажать синюю кнопку и выбрать папку
Изменено: Jack Famous - 11.06.2021 15:15:07
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Парсинг сайта «Минстрой России», Классификатор строительных ресурсов
 
Приветствую!

Хочу спарсить данные с сайта. Интересуют всего 3 фрагмента (на скрине): шифр, наименование и единица измерения
Как парсить знаю очень слабо — мне будет достаточно получить html-коды страниц (или один большой код со всей информацией), а я уж "вытяну"
Как можно программно "прощёлкать" все кнопки группы, чтобы добраться до страницы с информацией?
Адесная строка при этом не меняется, поэтому вообще непонятно…
Нужные данные
UPD: Можно получить список через поиск, но там тоже щёлкать надо

P.S.: это не запрещено  :D с сайта можно скачать всю эту инфу, но кто-то (как будто специально) в выгрузку не включил единицы измерения

Ссылки:
VBA-JSON (JSON-Converter from GitHub)
Тема с советами по парсингу
Парсинг через Chome (Selenium)
Использование HTML DOM (Document Object Model) в скриптах на базе Windows Script Host
Изменено: Jack Famous - 16.09.2021 12:18:45
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Скорость работы с диапазоном, Range.SpeedTest
 
Приветствую!
Решил протестировать скорость различных действий при работе с диапазонами и показать некоторые способы ускорения
Адреса
Interior and NumberFormat
Сравнение
Коды
Изменено: Jack Famous - 07.06.2021 18:01:04
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Как определить буквы столбца по его номеру, VBA. Range.Columns. Number To Letter(s)
 
Приветствую!
Продолжаю искать самые скоростные приёмы работы в VBA
Вывод: общая скорость работы, а также двукратный выигрыш на первых 26 однобуквенных столбцах позволяет сказать, что предпочтительнее использовать рекурсивную функцию, в качестве основной  :idea:
Изменено: Jack Famous - 24.05.2021 14:21:14
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Массив с основными данными из диапазона, RangeInfoToArray
 
Приветствую!
Родилась идея, реализация которой, как мне кажется, сильно поможет VBA-разработчикам при работе с диапазонами
Описание
Описание моей реализации фильтра на VBA (тут это подход должен сильно помочь - для примера)
Реализация на VBA (всё очень просто)
Я бы ещё добавил столбцы IsFormula и IsVisible — в таком случае вообще можно будет горы свернуть  :)
Изменено: Jack Famous - 21.05.2021 16:22:11
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Двоичный поиск по отсортированным данным, Бинарный поиск в отсортированном массиве | Binary search in sorted array
 
Приветствую!

Решил собрать в одной теме всё, что считаю полезным по бинарному поиску в Excel

Прямой перебор (Brute Force) — не участвует, т.к. скорость до тысяч раз медленнее и сравнивать нет смысла
Функции ВПР и ПОИСКПОЗ с точным поиском (ЛОЖЬ в последнем аргументе) — не участвуют по тем же причинам, хоть и с меньшей (десятки и сотни раз) разницей

Итак, тестируем функции листа ПОИСКПОЗ (+ИНДЕКС) и ВПР с ИСТИННЫМ последним параметром, сравнивая их с различными реализациями на VBA
Смешанные данные (числа и текст)
Попробуем сравнить поиск только по числам (говорят, ВПР на нём просто чудеса творит)

Выводы:
    1. ПОИСКПОЗ (+ ИНДЕКС) незаметно быстрее на смешанных данных (то есть, на строках), но сильно (в 2 раза по тестам) медленнее на числах, чем ВПР
    2. ВПР не обладает "волшебной" скоростью на числах - проигрывает VBA без вариантов
    3. создал функцию (PaRADoX в списке поисковиков) для поиска в двухмерном массиве на основе базового варианта с сайта Algolist (ссылка ниже). Стабильно работает чууууть быстрее

Модуль «BeginEnd». Подготовка данных и переменных
Модуль «Generator». Создание и заполнение диапазона с данными
Модуль «Searchers». Поисковики (функции для двоичного поиска)
Модуль «Tester». Основная процедура для теста + заполнение таблицы сравнения


Как запустить:
Нажать кнопку Start на листе compare
Тип данных (смешанные или только числа) и/или участвующие в сравнении поисковики — всё регулируется в коде, основное закомментировано
Присутствует отображение прогресса выполнения в строке статуса (Application.StatusBar) в левом нижнем углу окна Excel
Присутствует вывод журнала работы в Immediate (Debug.Print)

ССЫЛКИ
На листе:
Двойной ВПР
То, же, но с помощью ИНДЕКС+ПОИСКПОЗ (ikki)

VBA:
Суть (просто о сложном). Самый простой и в то же время самый быстрый алгоритм (сайт Algolist)  :idea:
Anchoret
Прочие варианты

PQ:
Вариант от PooHkrd

Прочее:
Самый быстрый способ подтягивать значения по ключу
Поиск значений в массиве для длинных строк (ВПР). Подсчёт количества повторений
Изменено: Jack Famous - 21.05.2021 10:39:44
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Книга ("*.xlsm" или "*.xlsb") с модулем сохраняется намного дольше, чем без него
 
Приветствую!

Создаю новую книгу, открываю, пересохраняю в "*.xlsm" или "*.xlsb" - быстро сохраняет
Создаю новый модуль, сохраняю - очень долго сохраняет
Удаляю модуль - снова быстро сохраняет

Кто сталкивался с таким? Как побороть?
Надстройки отключены, библиотеки штатные
Изменено: Jack Famous - 19.05.2021 11:12:26
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Android. Как вызвать замедление в игре по событию касания экрана?
 
Приветствую!
Данный пост (кросс с кибера) совсем не про Excel, однако, зная местных, могут подсказать  :)

Есть игра WindWings, в которую хочу "перенести" механику управления временем из игры Infinite Shooting: Galaxy War
Суть механики: когда палец касается экрана, то время течёт как обычно, а когда отпущен, то сильно замедляется

Я понимаю, что "создать" замедление куда сложнее и нестабильнее, чем его "найти", благо оно там есть — если во время игры нажать паузу и вернуться обратно, то время будет сильно замедлено. Вот оно-то мне и надо (кстати, помимо этого замедления, в игре есть штатная возможность менять скорость игры в диапазоне 0,8x-2x, но -20% это мало)

Как сейчас: вариант "в лоб" — для автоматизации использую MacroDroid, в котором создал кнопку, на которую (клик по кнопке) повесил программное нажатие "паузы" и "продолжить" (по координатам)
Минусы: нажатие "продолжить" после паузы требует задержки примерно в 0,5 секунды (иначе не нажимается), поэтому возникает дёрганье, ну и это КНОПКА, что, конечно далеко не так удобно, как описанная механика с тачем
Плюсы: легально, не нужны знания кода и нет необходимости менять ресурсы игры (легально и безопасно)

Как я вижу решение: в MacroDroid'е нет триггера (событие при котором запускается макрос) на тач, но можно как-то использовать приложения, в котором такие события доступны
То есть, вопрос №1: как внедрить механику на таче?
Вопрос №2: можно ли вызывать замедление как-то более "напрямую" или иным способом убрать задержку и дёрганье?
Изменено: Jack Famous - 11.05.2021 12:29:41
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Range.Find. Как максимально быстро найти значение в диапазоне, Сравнение поиска в массиве, методом и «в лоб» прямым перебором
 
Приветствую!

Решил проверить, какой способ из 3ёх (поиск в массиве, метод Range.Find и простой перебор) является оптимальным по соотношению скорость/удобство/универсальность
Скорость рассматривается в первую очередь, удобство - во вторую и универсальность - просто для случая "при прочих равных" (просто потому что можно написать код, который будет применять самый быстрый способ в зависимости от задачи, тем самым становясь универсальным)
Перед запуском теста ЗАПОЛНИТЕ таблицу, нажав на кнопку!
Код
Отчёт
Расширенное сравнение
Выводы
Изменено: Jack Famous - 07.05.2021 13:55:47
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Удобный Поиск и Замена в редакторе VBA, Easy Find and Replace in VBA Editor
 
Приветствую!

Часто у меня возникают такие проблемы в редакторе:
    • удалить Nую переменную в исходнике и всех вхождениях
    • добавить Nую переменную (обязательную или опциональную) и во всех её прошлых вызовах добавить и установить эту новую переменную с определённым значением
    • поменять местами Nую и Mую переменные

Вопрос: как это сделать?
Встроенный Replacer не может такое, вроде или есть какие-то фокусы?

Пока думаю как-то выгрузить все коды в в текстовый файл или на лист, обработать массив, сплитуя аргументы и меняя местами, как надо, но хотелось бы как-то попроще, конечно…
Код
Ссылки:
Крутой мануал со множеством примеров и подробным разбором
КАК ДОБАВИТЬ КОД ПРОЦЕДУРЫ ПРОГРАММНО, СКОПИРОВАТЬ МОДУЛЬ
Функции для работы с объектами редактора VBA (модулями, формами, и т.п.)
Изменено: Jack Famous - 07.05.2021 14:52:09
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
При вставке пропадает разделитель целой и дробной части, Решено
 
Приветствую!

При вставке десятичных чисел в виде текста (в примере это результат Split'а), разделитель целой и дробной части будет удалён для чисел с разрядами 3 и более
Решение: элементы массива Split'а строковые и преобразование их не изменит, так что используем переменную
Если числа получены как-то по-другому, то просто не забываем их преобразовать, иначе это сделает Excel и не всегда корректно  :D
Код и скрины
— как можете заметить, при вставке абсолютно плевать, какой был разделитель целой и дробной части — всё будет числами и не всегда корректными  :D
Суть проблемы в 2ух строках кода
объяснил на Split'е, т.к. после него и обнаружил эту проблему + понял (и захотел тоже показать), что элементы Split'а (строковый массив) не преобразовать в числа напрямую, пока они внутри массива
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
File to Excel. Обзор конверторов в формат книги Excel (в том числе платных), PDF to Excel; WORD to Excel
 
Приветствую!

Нужен конвертор для "перегона" Word'овских и PDF'овских документов в книги Excel со следующими параметрами:
    • 1 файл Word или PDF = 1 лист Excel
    • пакетная обработка (чтобы можно было выбрать 2 и более файлов и отправить в обработку)
    • "белая" установка: можно официально установить в компании (не пиратка, не ограниченное пользование типа версии для обучения и т.д.)

Программа может быть платной (скорее всего, такой и будет)
Подписка менее приоритетна перед коробочной версией

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

Итак: кто-что пользовал, что стоит рассмотреть, что точно не брать?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
PDF to Excel. Конвертировать PDF в форматы Excel, Free. legal and NOT OCR (PDF with data on text layer)
 
Приветствую!

Как быстро и максимально автоматически конвертировать PDF в Excel форматы при наличии текстового слоя?
Интересуют полностью бесплатные и легальные способы - для внедрения в компании
Видел как-то ссылки на подключение из VBA через API некоторых приложений, но сходу не нашёл их

Пока перевожу онлайн на pdf2go (результат After из примера как раз отсюда - не реклама) - получается недолго и качественно, но не очень автоматически
Скрины
Изменено: Jack Famous - 15.04.2021 11:32:48
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
ListObject.Filter. Фильтр «умной» таблицы начинает сильно тормозить, если по её диапазону происходит многократный поиск в другой таблице
 
Приветствую!

Дано 2 таблицы - справочник FROM и перечень WHERE
В WHERE проставлены номера строк из FROM и по этим номерам (позициям) тянется столбец из FROM с помощью ИНДЕКСА
То есть в FROM только 2 столбца с данными, а в WHERE 1 столбец с номерами строк и второй - с функцией =ИНДЕКС()

Вопросы:
Можно ли как-то это побороть, оставив ИНДЕКС (или подтягивать столбец по позиции как-то иначе)?
Почему при наличии ИНДЕКСА в WHERE фильтр FROM начинает так тупить?

ИНДЕКС - очень быстрая функция, но, если её убрать в этом случае - будет намного (в десятки раз на сотнях тысяч строк) быстрее
ПОИСКПОЗ примерно такие же тупняки даёт, хотя несравнимо медленнее сама по себе
Пересчёт (авто или вручную) никак не влияет

Прошу для примера вставить номера строк из FROM в первый столбец WHERE 2 раза друг под другом (2 блока) - этого будет достаточно, чтобы начались тормоза (я удалил, чтобы не раздувать файл, а обменники на работе запрещены) - на скринах показал
При увеличении блоков, тормоза заметно усиливаются
Скрины
Ссылка на файл
!!! ВАЖНО !!!
Решение нужно для "умной" таблицы, т.к. в обычных диапазонах подобной проблемы нет
(достаточно преобразовать в диапазон только фильтруемую таблицу — FROM в данном примере)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Тесты. Как быстро выделить ячейки (Range.Select), AddressToMaxRanges + SmartUnion
 
Приветствую!
Это вторая (вот первая) тема в цикле тестов метода "нарезания адреса" для решения конкретных задач
Ближайший (единственный?) конкурент по быстрому выделению (ZVI + bedvit)
Модуль «Macro»
Модуль «bedvit»
Модуль «PRDX»

Итог: на диапазоне в 250 000 ячеек (25 столбцов * 10 000 строк) при подходящих условию (< 1500) 187 468 (75%) ячейках мой вариант с временем 6,51 сек быстрее конкурента со временем 18,1 сек почти в 3 раза (2,78)
Выводы
Ну и финалочка — причина, по которой, собственно, более 5 лет назад Владимир (ZVI), а потом и bedvit разрабатывали способ быстрого выделения: процедура выделения (сбор диапазона в один) по-старинке на объёме в 10 раз меньшем тестового (18 860 ячеек из 25 тыс) работает 5 минут
Причём время работы растёт не линейно и при выделении, скажем 50 тысяч ячеек вы и за ночь можете не дождаться …
Изменено: Jack Famous - 18.03.2021 16:40:50
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Как получить адрес выделенных ячеек без макроса на лист, Range.Address
 
Приветствую!
Собственно, всё в названии. Выделен диапазон (одна или несколько областей) и нужно получить на листе его адрес без макросов (можно "встроенными" типа ВЫЧИСЛИТЬ и т.д.)
Можно ли и как?
Зачем
Изменено: Jack Famous - 17.03.2021 11:14:25
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Тесты. Как быстро закрасить ячейки, AddressCut / AddressToMaxRanges. Функция для резки одного длинного адреса на блоки максимальной длины (~ 255 символов) с преобразованием в диапазоны
 
Приветствую!

Основная задача: найти наибыстрейший метод для закрашивания ячеек
Подзадача: Поработать над универсальностью (передал аргумент для обработки и не паришься)
Модуль «Macro»
Модуль «Func»
Итоги
Развитие темы
Изменено: Jack Famous - 22.04.2021 09:28:09
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Готовые решения. Цветовая карта (ColorMap). Как выделить ячейки разными цветами по типам данных
 
Приветствую!
Написал шуструю процедуру для создания цветовой карты, по аналогии (не всё также) с инструментом из PLEX'а
Модуль «ColorMap» с основной процедурой
Модуль «PRDX» с функциями для работы
Легенда
Скрины
О «модульном» подходе
Пробуйте, спрашивайте, код подробно закомментирован

UPD 17/03 2021: ускорил за счёт функции укрупнения диапазонов
Изменено: Jack Famous - 17.03.2021 17:27:20
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Range.Address / Union(Ranges). Как максимально быстро отобрать диапазон по критериям
 
Приветствую!

Данная тема плавно вытекает из обсуждения «Range.Address. Зачем собирать адреса, Области применения» и, собственно, отвечает на этот вопрос - то есть показывает пример успешного применения сбора адресов для решения конкретной задачи.
Кроме демонстрации эффективности работы с адресами, в методе использована универсальная функция для максимально эффективного объединения диапазонов
Итоги проделанной работы (+ метод быстрого удаления большого количества строк)

Функции сделаны достаточно универсальными без заметной потери в скорости - использование не должно вызвать проблем

ВАЖНО: перед тестированием функций, посмотрите хоть немного, с чем она работает и откуда берёт входящие данные — это всегда диапазон  листа и он должен быть заполнен. Не заполнил сам, чтобы не превысить размер файла
Принцип:
Модуль «TestDel» (удаление строк)
Модуль «TestInt» (заливка ячеек)
Модуль «PRDX» (мои функции для работы)


Предлагаю новое название для темы:
«Диапазоны (Ranges). Как быстро отобрать области и/или удалить строки по критериям»
Изменено: Jack Famous - 12.03.2021 10:00:54
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1 2 3 4 5 6 7 След.
Наверх