Антониони
|
1. Первая ссылка норм, а вот вторую исправьте - она ведет на ваш личный диск (на компьютере) и, соответственно, для других пользователей форума/сети недоступна. 2. Книжки это здорово, но в интернете полно всяких самоучителей, статей и прочей фигни. Порой пытаешься найти что-то более существенное, а попадаются именно уроки для начинающих. Например искал как динамически изменять высоту шрифта, а мне выдавало как вообще можно менять шрифт и про панель/ленту программы. 3. Раз уж создали такую тему, предлагаю тут выкладывать различные хитрости - те вещи, с которыми вы долго бились и в итоге нашли какое-то простое решение (или не очень простое, но действенное). --------------------------------------------------------------------------------------------------------------------------- Первое что хотел бы сказать - в Екселе есть своя среда программирования VBA Visual Basic for Application. Нечто подобное есть для Ворда, Автокада и в некоторых других программах. Разумеется разница есть, хотя бы в оперируемых объектах: в екселе это ячейки, диапазоны, листы и книги, в ворде это слова, абзацы, страницы и файлы, в автокаде - линии, круги, текст и т.п. Разные объекты и программы подразумевают несколько разные приемы работы с ними, но в целом подход к программированию одинаковый. Плюс некоторых программ в том, что есть рекордер макросов (макрос - программный код на ВБА), то есть вы включаете запись, выполняете действия, а программа сама составляет программный код для выполнения ваших действий. Так удобно учиться, смотреть примеры и так далее. Для большинства пользователей достаточно просто понимать как это работает, то есть как добавить макрос и как его запустить (ну и конечно ЗАЧЕМ его вообще использовать). Пример У вас есть большой список значений, вам нужно отсортировать их по возрастанию. В Ексель есть такая функция - выделил, ткнул и все. Но если у нас появляются дополнительные условия, например исключить значения содержащие определенный символ/цифру, то простой сортировкой не обойтись, нужны более сложные действия. Вот тут как раз и может помочь макрос - сразу и отсортирует и исключит нужное (НЕ нужное). Пишется программный код на ВБА, вставляется в файл и назначаются горячие клавиши или кнопка на панели быстрого доступа (или на самом листе Ексель). Вуаля - нажали кнопку и получили результат. Однако если нам надо исключить теперь значения с другим символом/цифрой, то необходимо внести изменения в программный код. Это не очень удобно, особенно если не понимаешь его. В связи с этим часто макросы либо маленькие, но под специфичные задачи, либо значительно больше, но более универсальные. Кроме того! Если в файл включить макрос, то его надо сохранять в формате поддерживающем макросы - xlsm вместо уже привычного xlsx. И к тому же большое количество макросов может значительно увеличить размер файла. Да и включать все необходимые макросы в каждый файл - это долго и муторно. Значит необходимо все макросы занести в один файл и использовать его. Это называется Личная книга макросов - файл с макросами, который сохраняется в определенную папку и запускается в скрытом режиме при каждом запуске екселя. Как все это сделать более подробно можно прочитать в интернете - там много статей. К тому же для разных версий Екселя могут быть незначительные отличия и описывать их все здесь не вижу смысла. Предлагаю далее кроме хитростей, выкладывать и свои макросы для облегчения работы. Очень желательно описывать подробно что и как, давать листинг макроса, можно файл пример.
----- добавлено 15 Февраля 2019 года, 08:31 ----- Подбор размера шрифта, в зависимости от ширины ячейки или нескольких объединенных ячеек Есть такая возможность в Екселе - подбор размера текста в зависимости от ширины ячейки. Это можно сделать в свойствах ячейки. Однако при таком подборе нет ограничений по минимальному и максимальному размеру. То есть если у вас короткий текст и широкая ячейка, текст будет большого размера, но не более начального размера, который установили вы. А вот если у вас длинный текст и маленькая ячейка - текст может уменьшиться до размера, когда его не прочитать. Ну и каждый раз в свойствах выставлять подгонку под ширину не хотелось, поэтому написал макрос. Выделяем нужную ячейку, нажимаем кнопку (запускаем макрос) и текст в выделенной ячейке изменяется по следующим правилам: - текст не может быть более 12 размера шрифта; - текст не может быть менее 5 размера шрифта; - в ячейке устанавливается шрифт Arial; - текст изменяет размер шрифта в зависимости от ширины ячейки или суммарной ширины объединенной ячейки. Если выделена не одна, а несколько ячеек или пустая ячейка - программа завершит свою работу без изменений ячейки
Прикладываю файл с макросом в формате Excel 2007
|