да, круто... спасибо 
Избушка формулистов-3, не для вопросов, но для формульных задач
Избушка формулистов-3, не для вопросов, но для формульных задач
Избушка формулистов-3, не для вопросов, но для формульных задач
|
27.12.2022 08:11:09
БМВ, а можно показать мне решение в личку?
|
|
|
|
|
Избушка формулистов-3, не для вопросов, но для формульных задач
Избушка формулистов-3, не для вопросов, но для формульных задач
Избушка формулистов-3, не для вопросов, но для формульных задач
Исправить крокозяблики в содержимом переменной после копирования текста из VBE
Исправить крокозяблики в содержимом переменной после копирования текста из VBE
Исправить крокозяблики в содержимом переменной после копирования текста из VBE
Исправить крокозяблики в содержимом переменной после копирования текста из VBE
Исправить крокозяблики в содержимом переменной после копирования текста из VBE
|
11.04.2018 14:22:42
Иногда в коде некоторые комментарии хочется выделить заглавными буквами, чтобы выглядело как заголовок. Делаю процедуру преобразования текста в верхний регистр, чтобы повесить её на сочетание клавиш (разумеется, для этого нужно будет сперва переключиться в эксель).
Когда был скопирован русский текст, но стояла английская раскладка, переменная a получает крокозяблики. Как исправить? |
|||
|
|
|
Запустить на Win64 GetMem4()
|
30.03.2018 18:37:33
Да, все предлагаемые к скачиванию версии 32-разрядные, но это же не значит, что их нельзя запускать из 64-разрядного офиса? (я лично ещё пока не знаю, это моё предположение
Пошла установка x64-го офиса (неанинсталлированный пакет совместимости мешал установщику запуститься). Буду пробовать.... |
|
|
|
|
Запустить на Win64 GetMem4()
|
30.03.2018 18:20:49
sokol92 написал:
Только вопрос, как правильно описать параметры функций, чтобы можно было их вызывать? Ладно, тогда придётся использовать CopyMemory для этих целей. Ситуация ещё усложняется тем, что я не могу попробовать у себя на компе всё это. Поставить одновременно и x86 и x64 версии офиса нельзя. Снёс х86, перезагрузился, а установщик х64 всё равно сообщает, что уже установлена 32-разрядная версия и не хочет устанавливать х64. |
|||
|
|
|
Запустить на Win64 GetMem4()
Запустить на Win64 GetMem4()
|
30.03.2018 00:24:06
Добрый день. Тема избитая, но запустить GetMem на 64-разрядном офисе не получается.
Нужно, чтобы заработала, например, такая конструкция:
|
|||||
|
|
|
Оптимизировать формулу подсчёта максимального числа значений в диапазонах
|
27.03.2018 19:05:22
Сергей, спасибо, то что надо :-) Крутил-крутил этот СМЕЩ() со всех сторон, но так и не смог заставить его выдать массив значений для каждого диапазона.
StepanWolkoff, да, будете удивлены, но это реальная структура данных. Более того, каждая таблица имеет ещё 2 служебные строки, содержащие различные объединённые ячейки, но я их обрезал, поскольку к примеру они дела не имеют. |
|
|
|
|
Оптимизировать формулу подсчёта максимального числа значений в диапазонах
|
27.03.2018 15:12:57
Добрый день.
В примере лежит формула, определяющая максимальное число заполненных ячеек в указанных диапазонах. Мне она не нравится, т.к. вычисляется она не на листе формулой, а из кода в событии Worksheet_Change только для той таблицы, где произошли изменения. Я сделал это 6ю отдельными строчками Application.Count() для 6 диапазонов, результаты записываются в массив, а потом у массива берётся Application.Max(). Cинтаксис получается длинный и некрасивый. Может ли кто подсказать, как можно упростить эту формулу? Приемлемы все варианты: формулой (можно исп. летучие ф-ции), можно из кода через Evaluate(), можно через WorksheetFunction(). В книге созданы имена Склад1 ... Склад6, можно привязываться к ним. |
|
|
|
|
Подсветка аргументов UDF при вызове с листа
Подсветка аргументов UDF при вызове с листа
Подсветка аргументов UDF при вызове с листа
Подсветка аргументов UDF при вызове с листа
Подсветка аргументов UDF при вызове с листа
Проверка ячейки на наличие в ней текста на русском языке
|
27.11.2017 23:19:47
Как-то столкнулся с подобной задачей... пришёл в голову такой вариант... Исследуемый текст в ячейке А1.
Формула массива: =ИЛИ(ABS(КОДСИМВ(ПСТР(ПРОПИСН(A1);СТРОКА(ИНДЕКС(C:C;1):ИНДЕКС(C:C;ДЛСТР(A1)));1))-{207,5;168})<{16;1}) Вместо столбца C:C можно можно подставить любой другой столбец. Логика работы формулы такая: 1. Преобразуем все буквы в заглавные для упрощения. 2. Смещаемся на середину кодов заглавных букв русского языка. Поскольку подряд идущих символов 32 (буква Ё размещена в другом месте), то позиция середины - это 16,5. Прибавляем код первого символа минус единицу -- получаем 207,5 (=191 + 16,5). 3. Отнимаем от исследуемых кодов эту цифру (207,5). При этом, для букв от А до П результат будет отрицательный, для букв от Р до Я положительный. 5. Берём модуль и сравниваем результат с размером диапазона, делённым на два (16). Таким образом мы захватываем 32 буквы (по 16 сверху и снизу от середины 207,5) 6. Букву Ё формула проверит по тому же правилу. Её код 168, кол-во символов - один. 7. Если хоть одно из условий истинно, ИЛИ вернёт ИСТИНУ. Для украинского языка (для включения букв Ґ, Є, Ї, І) если при этом не исключать из диапазона русские букв буквы Ъ,Э,Ы, константы будут такие: ... -{207,5;165;170;175;178})<{16;1;1;1;1}) В идеале, буквы Ъ, Ы, Э нужно исключать. Исключим их вместе с "Ь", поскольку их коды идут подряд, а "Ь" потом проверим отдельно: ... -{204,5;222,5;165;170;175;178;220})<{13;1;1;1;1;1;1}) Для того, чтобы проверить, есть ли в тексте цифры, формула массива будет такой: =ИЛИ(ABS(КОДСИМВ(ПСТР(ПРОПИСН(A1);СТРОКА(ИНДЕКС(B:B;1):ИНДЕКС(B:B;ДЛСТР(A1)));1))-52,5)<5) Файл-пример прилагается. |
|
|
|
|
Формулой проставить единицу (метку) напротив последней имеющейся даты (невыходной день)
Проверка наличия числа в диапазоне.
Расчет времени (суммирование) в интервале
Расчет времени (суммирование) в интервале
|
09.12.2016 22:45:13
Всем привет!
предлоижил вариант тоже хороший и интересный, но он чуть недоработан. Его формула не учитывает время начала цикла. Например, если начать 1й цикл производства не с 8:00, а с 9:15, то его формула это не отработает.
Изменено: - 10.12.2016 10:26:56
|
|
|
|
|
Насколько вы любите программу Excel?, Какую роль сыграла эта программа в вашей жизни
|
27.11.2016 17:35:51
У меня к Еxcel до сих пор противоречивое отношение - то я его люблю, то ненавижу и ругаю самыми последними трёхэтажными матерными словами, обзывая программистов, которые его писали
Да, кстати, все конечно будут с меня смеяться, но и операционка дома у меня только Windows XP !
Изменено: - 27.11.2016 18:18:49
|
|
|
|
|
Сослать объектную переменную на запущенное приложение экселя в отдельном процессе
|
01.04.2013 11:50:00
Ну, тогда может возникнуть такая ситуация, когда файл лежит где-то на сервере в расшаренной папке, и открыт по сети на каком-то компьютере. А проверить нужно, открыл ли файл именно на том компьютере, на котором выполняется этот код (а это может быть и не сам файл-сервер). Я думаю, что нужно идти другим путём, без привязки к файловой системе, а к привязке к запущенным процессам экселя и открытым книгам в нём. |
|
|
|
|
Сослать объектную переменную на запущенное приложение экселя в отдельном процессе