Сообщество - MS, Libreoffice & Google docs

MS, Libreoffice & Google docs

762 поста 14 933 подписчика

Популярные теги в сообществе:

Быстрая блокировка Windows и macOS

Уходя с рабочего места, не лишним будет блокировать экран вашей "рабочей лошадки", от глаз "добрых" коллег или бдительного босса.

Сделать это быстро помогут Hotkeys.

Блокируя компьютер вы попадаете на экран блокировки, на котором можете сменить пользователя или ввести данные своей учетной записи и войти в систему снова.

Блокировка Windows

В любой версии Windows нажмите одновременно на клавиши ⊞ Win + L, увидите экран блокировки.

Быстрая блокировка Windows и macOS

Блокировка macOS

Быстро заблокировать Mac вы можете нажав ⌘ Command + ⌃ Control + Q.

Показать полностью 1
454

Как снять защиту с VBAProject в Excel

Поставили пароль на VBAProject и забыли его? Есть файл с макросами, хотите в них разобраться, но проект защищён? Не беда, сломаем за 5 минут.

Пошаговая инструкция:

1. Закройте файл, сделайте его копию на случай Fuck Up.

2. Измените расширение файла .xlsm на .zip (пкм Переименовать или F2):

3. Откройте zip файл, найдите папку xl и в ней файл vbaProject.bin:

4. Перетащите файл vbaProject.bin из архива:

5. Откройте его с помощью Notepad++ :

6. При помощи поиска (Ctrl+F) найдите строку DPB и замените в ней букву B на любую другую, сохраните и закройте файл:

7. Перенесите обновленный файл vbaProject.bin обратно в архив, закройте архив.

8. Измените расширение файла .zip в .xlsm.

9. Откройте файл, в появившемся диалоговом окне нажмите Да:

10. Откройте Visual Basic (Alt+F11) или вкладка Разработчик ► Visual Basic, в появившемся диалоговом окне нажмите Ок:

11. Окне редактора выберите Tools ► VBAProject Properties...:

12. На вкладке Protection уберите галку Lock project for viewing и сохраните файл:

Готово!

Не сработало? Поможет бесплатная надстройка MACROTools VBA Excel, а надстройка EXCELTools автоматизирует ваши рутинные и монотонные операции в MS Excel.

При желании проект можно поддержать рублем.

Хотите научиться самостоятельно писать макросы и разбираться в VBA, но не знаете с чего начать? Лучший канал на YouTube по этой теме:

Показать полностью 11 1
23

Нужна помощь в Excel с гистограммой

Доброго времени суток

Прошу помощи по Excel, ибо в интернете не нашел, как это осуществить.
Суть такая: Нужно из двух таблиц сделать одну Гистограмму, в которой можно будет сравнить их.

Нужна помощь в Excel с гистограммой

Гистограмма по 1й таблице.

Вот нужна такая же, которая бы скомбинировала данные во второй таблице и построила рядом столбцы.
Как это сделать - ума не приложу.


Заранее благодарен за помощь.

Показать полностью
710

Массовая замена текста формулами в Excel

У Николая Павлова вышла новая статья как с помощью формулы произвести массовую замену одного текста (или его фрагмента) на другой по имеющейся таблице подстановок (справочнику).
Другими словами - как привести в единый порядок разношёрстый текст в таблице Excel.

Предположим, что у вас имеется список, в котором с разной степенью "пряморукости" записаны исходные данные - например, адреса или названия компаний:

Хорошо видно, что один и тот же город или компания тут присутствуют в разношёрстных вариантах, что, очевидно, будет создавать массу проблем при работе с этими таблицами в будущем. И если чуть подумать, то можно найти массу примеров похожих задач из других областей.

А теперь представьте, что к вам такие кривые данные попадают регулярно, т.е. это не единичная история из серии "исправил вручную, забыл", а проблема на регулярной основе и в большом количестве ячеек.

Что же делать? Не заменять же вручную 100500 раз кривой текст на правильный через окошко "Найти и заменить" или нажимая Ctrl+H?

Первое, что приходит в голову в подобной ситуации - произвести массовую замену по составленному заранее справочнику соответствия неправильных и правильных вариантов - вроде такого:

К сожалению, при очевидной распространенности подобной задачи, в Microsoft Excel не существует простых встроенных способов для её решения. Для начала, давайте разберёмся, как это делать формулами, без привлечения "тяжелой артиллерии" в виде макросов на VBA или Power Query.

Случай 1. Массовая полная замена

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

В первой - исходные разномастные названия компаний. Во второй - справочник соответствия. Если находим в названии компании в первой таблице любое слово из столбца Найти, то нужно полностью заменить это кривое название на правильное - из столбца Заменить второй таблицы-справочника.
Для удобства:
Обе таблицы преобразованы в динамические ("умные") с помощью сочетания клавиш Ctrl+T или командой Вставка - Таблица (Insert - Table).

На появившейся вкладке Конструктор (Design) первой таблице присвоено имя Данные, а второй таблице-справочнику - Замены.
Чтобы объяснить логику формулы зайдём чуть издалека.
Взяв в качестве примера первую компанию из ячейки A2 и забыв временно про остальные компании, попробуем определить какой именно вариант из столбца Найти там встречается. Для этого выделим любую пустую ячейку в свободной части листа и введём туда функцию НАЙТИ (FIND):

Эта функция определяет входит ли заданная подстрока (первый аргумент - все значения из столбца Найти) в исходный текст (первая компания из таблицы данных) и должна вывести на выходе либо порядковый номер символа, начиная с которого текст был найден, либо ошибку если подстрока не обнаружена.

Хитрость тут в том, что поскольку первым аргументом мы указали не одно, а несколько значений - эта функция будет возвращать в качестве результата тоже не одно значение, а массив из 3 элементов.

Если у вас не последняя версия Office 365 с поддержкой динамических массивов, то после ввода этой формулы и нажатия на Enter вы этот массив увидите прямо на листе:

Если же у вас предыдущие версии Excel, то после нажатия на Enter мы увидим только первое значение из массива результатов, т.е. ошибку #ЗНАЧ! (#VALUE!).
Пугаться не стоит :) На самом деле наша формула работает и увидеть весь массив результатов всё равно можно, если выделить введённую функцию в строке формул и нажать клавишу F9 (только не забудьте потом нажать Esc, чтобы вернуться обратно к формуле):

Полученный массив результатов означает, что в исходном кривом названии компании (ГК Морозко ОАО) из всех значений в столбце Найти нашлось только второе (Морозко), причём начиная с 4-го по счёту символа.

Теперь добавим к нашей формуле функцию ПРОСМОТР (LOOKUP):

У этой функции три аргумента:
Искомое значение - можно использовать любое достаточно большое число (главное, чтобы оно превышало длину любого текста в исходных данных)
Просматриваемый_вектор - тот диапазон или массив, где мы ищем искомое значение. Здесь это введённая ранее функция НАЙТИ, возвращающая массив {#ЗНАЧ!:4:#ЗНАЧ!}
Вектор_результатов - диапазон, откуда мы хотим вернуть значение, если искомое значение найдено в соответствующей ячейке. Здесь это правильные названия из столбца Заменить нашей таблицы-справочника.

Главная и неочевидная фишка тут в том, что функция ПРОСМОТР при отсутствии точного совпадения всегда ищет ближайшее наименьшее (предыдущее) значение. Поэтому, указав в качестве искомого значения любое здоровенное число (например 9999), мы заставим ПРОСМОТР находить ячейку с ближайшим наименьшим числом (4) в массиве {#ЗНАЧ!:4:#ЗНАЧ!} и выдавать соответствующее ей значение из вектора результатов, т.е. правильное название компании из столбца Заменить.

Второй нюанс заключается в том, что, технически, наша формула является формулой массива, т.к. функция НАЙТИ возвращает в качестве результатов не одно, а массив из трёх значений. Но поскольку функция ПРОСМОТР поддерживает массивы "из коробки", то нам не придётся вводить эту формулу как классическую формулу массива - с помощью сочетания клавиш Ctrl+Shift+Enter. Достаточно будет простого Enter.
Вот и всё. Надеюсь вы ухватили логику.

Осталось перенести готовую формулу первую ячейку B2 столбца Исправлено - и наша задача решена!

Само-собой, с обычными (не умными) таблицами эта формула тоже замечательно работает (только не забудьте про клавишу F4 и закрепление соответствующих ссылок):

Случай 2. Массовая частичная замена

Этот случай чуть похитрее. Снова имеем две "умных" таблицы:

Первая таблица с криво записанными адресами, которые нужно исправить (я назвал её Данные2). Вторая таблица - справочник, по которому нужно произвести частичную замену подстроки внутри адреса (я назвал эту таблицу Замены2).

Принципиальное отличие тут в том, что нужно заменять только фрагмент исходных данных - например, в первом адресе неправильный "С-Петербург" на правильный "Санкт-Петербург", оставив остальную часть адреса (индекс, улицу, дом) в исходном виде.

Готовая формула будет выглядеть так (для удобства восприятия я разделил её на насколько строк с помощью Alt+Enter):

Основную работу здесь выполняет стандартная Excel'евская текстовая функция ПОДСТАВИТЬ (SUBSTITUTE), у которой 3 аргумента:
Исходный текст - первый кривой адрес из столбца Адрес
Что ищем - тут мы используем трюк с функцией ПРОСМОТР (LOOKUP) из предыдущего способа, чтобы вытащить значение из столбца Найти, которое входит как фрагмент в кривой адрес.
На что заменить - аналогичным образом находим соответствующее ему правильное значение из столбца Заменить.

Вводить эту формулу с Ctrl+Shift+Enter здесь тоже не нужно, хотя она и является, по-сути, формулой массива.

И хорошо видно (см. ошибки #Н/Д на предыдущей картинке), что такая формула, при всей её элегантности, обладает и парой недостатков:
- Функция ПОДСТАВИТЬ является регистрочувствительной, поэтому "Спб" в предпоследней строке так и не нашлось в таблице замен. Для решения этой проблемы можно либо использовать функцию ЗАМЕНИТЬ (REPLACE), либо предварительно привести обе таблицы к одному регистру.
- Если текст изначально правильный или в нём нет ни одного фрагмента на замену (последняя строка), то наша формула выдает ошибку. Этот момент можно нейтрализовать перехватом и заменой ошибок с помощью функции ЕСЛИОШИБКА (IFERROR):

- Если в исходном тексте встречается сразу несколько фрагментов из справочника, то наша формула заменяет только последний (в 8-й строке Лиговский "проспект" заменился на "пр-т", а вот "С-Пб" на "Санкт-Петербург" уже нет, т.к. "С-Пб" стоит выше в справочнике). Эту проблему можно решить повторным прогоном нашей же формулой, но уже по столбцу Исправлено:

Не идеально и, местами, громоздко, но гораздо лучше, чем однообразная замена вручную, правда? :)

Показать полностью 14
0

Табельный учёт

Здравствуйте. Веду табель в Exel (уровень - начинающий), как заставить Ексель запоминать фамилии не по первым буквам последнего введённого сотрудника, а по последовательности в списке? И второй вопрос. Как заставить считать только 8-ки (рабочие дни), исключая выходные и праздничные в одной горизонтальной строке?

P.S. Выходные "плавающие".

223

Ролловер эффект в Excel

Ролловер эффект используется для подсвечивания элемента при наведении мышки на кнопку или ссылку. Сегодня мы рассмотрим приём, чтобы при наведении курсора на ячейку, цвет фона менялся.

Данный приём можно использовать при создании презентации или реализации каких-либо дизайнерских решений. Также для экспертов прокрастинации я оставлю файл здесь, вы сами поймёте, что нужно делать))


Итак приступим. Для начала создаём файл с поддержкой макросов. Затем на вкладке «Формулы» - «Диспетчер имён» задаём имя для диапазона ячейки А1, например DataА1:

Далее нажимаем клавиши Alt+F11 и кликнув правой клавишей мыши в левой части экрана создаём новый модуль, куда вписываем маленький макрос:

Public Function MouseMove(Str$, Data$)
Application.Evaluate(Data) = Str
End Function

Теперь в ячейке А2 вводим формулу =ГИПЕРССЫЛКА(MouseMove(1;"DataA1"))

У вас выйдет ошибка, не пугайтесь, её можно спрятать формулой =ЕСЛИОШИБКА(ГИПЕРССЫЛКА(MouseMove(1;"DataA1"));1)

Далее увеличиваем шрифт, объединяем ячейку А1 по ширине таблицы, настраиваем цвета нашей ячейки, затем протягиваем формулу на нужное количество ячеек.


Теперь нужно заменить цифры в формуле в порядковые номера (каждую по отдельности, немного муторно, но так надо). В результате в ячейке А1, при наведении курсора у вас будет отображаться соответствующая цифра.

Пришло время навести окончательную красоту, для этого выделяем нашу таблицу без шапки (А1), на вкладке «Главная» - «Условное форматирование» применяем второе правило «Форматировать только ячейки, которые содержат». Выбираем «равно» и указываем нашу ячейку «А1». В «Формат» задаём цвета и стили границы, нажимаем «Ok» и наслаждаемся ролловер эффектом))

Показать полностью 6
12381

Самая полезная клавиша при работе с документами Word, Excel - F4

Хочу посвятить пост всего одной, но очень важной при работе с офисными программами, кнопке на клавиатуре - "F4"

Самая полезная клавиша при работе с документами Word, Excel - F4

На мой взгляд, это самая полезная клавиша при работе с документами Word и excel - я ее использую каждый день.


Что же она делает? Всего-навсего повторяет последнее действие.


Представьте ситуацию - есть табличка и некоторые ячейки нужно пометить определенным цветом. Вы ставите курсор в первую ячейку, выбираете цвет заливки - ячейка покрасилась. Теперь ставите курсор в следующую ячейку и больше не нужно тянуться мышкой в верхнюю панель либо вызывать контекстное меню с помощью ПКМ, а просто нажимаете F4 и ячейка автоматически красится в нужный цвет.


Это работает со всеми встроенными функциями офисных программ кроме выполнения макросов (если кто-то знает, как можно повторять последний используемый макрос - буду благодарен за информацию).


Через F4 можно делать выделение цветом, менять форматирование, применять оптом стили, да и вообще делать всё, что вам придет в голову. Это очень здорово экономит время.


Вдруг кто-то этого не знал и ему это теперь пригодится)

Показать полностью
5

Ошибка. Закладка не определена

Word 2007

Объясните плз как прописать название закладки и в {} как эта зараза должна видеть?
гуголь объясняет не по человечески...

есть много текста, с повторяющимися данными. При добавлении закладки (все отображается, шаблон сохранен и проверен на наличие закладок и отображение их)
и ctrl+f9 (ввожу {REFnom} без кавычек ), в нужном месте - один фиг пишет "Ошибка..."
Либо показывает введенную информацию по закладке после нажатия "коды/значения полей"
Как заставить его работать?

Отличная работа, все прочитано!