Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подбор размера шрифта по размеру ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подбор размера шрифта по размеру ячейки (Макросы/Sub)
Подбор размера шрифта по размеру ячейки
berya Дата: Среда, 11.06.2014, 21:03 | Сообщение № 1
Группа: Проверенные
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
При заполнение налоговых накладных столкнулся с проблемой подбора шрифта для заполнения полей - или маленький или не помещается - в зависимости от длины названия предприятия.
Написал макрос - вроде подбирает правильно, но есть несколько проблем.
1. не получается автоматически создать промежуточную ячейку с размером объединенных ячеек (которую нужно подобрать по шрифту) выставил в ручную
2. остаются внутри ячейки свободные поля на которые можно было бы увеличить шрифт.

Был бы очень благодарен за доработку макроса.

Макрос запускается по ENTER в поле № договора (ячейка DE20)
К сообщению приложен файл: 0015981.xls (60.5 Kb)
 
Ответить
СообщениеПри заполнение налоговых накладных столкнулся с проблемой подбора шрифта для заполнения полей - или маленький или не помещается - в зависимости от длины названия предприятия.
Написал макрос - вроде подбирает правильно, но есть несколько проблем.
1. не получается автоматически создать промежуточную ячейку с размером объединенных ячеек (которую нужно подобрать по шрифту) выставил в ручную
2. остаются внутри ячейки свободные поля на которые можно было бы увеличить шрифт.

Был бы очень благодарен за доработку макроса.

Макрос запускается по ENTER в поле № договора (ячейка DE20)

Автор - berya
Дата добавления - 11.06.2014 в 21:03
Serge_007 Дата: Четверг, 11.06.2015, 22:36 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
В код вникать лень, что надо в итоге?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВ код вникать лень, что надо в итоге?

Автор - Serge_007
Дата добавления - 11.06.2015 в 22:36
berya Дата: Пятница, 12.06.2015, 11:12 | Сообщение № 3
Группа: Проверенные
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
В итоге необходимо ускорить процесс подбора размера шрифта в ячейке (до максимального размера)
 
Ответить
СообщениеВ итоге необходимо ускорить процесс подбора размера шрифта в ячейке (до максимального размера)

Автор - berya
Дата добавления - 12.06.2015 в 11:12
KSV Дата: Пятница, 12.06.2015, 17:53 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Ускорить можно разными способами и до разной степени...
Например, как вариант, оптимизировать ваш код. :) У вас там много лишних действий... (см. вложенный файл. код прокомментировал)
Макрос запускается по ENTER в поле № договора (ячейка DE20)

Кстати, запуск макроса у вас был назначен на нажатие Enter, поэтому вызывался ПРИ КАЖДОМ нажатии Enter, В ЛЮБОЙ ячейке, к тому же, при каждом перемещении по ячейкам у вас снова и снова происходит назначение вашего макроса на нажатие Enter. Можете объяснить зачем? Ведь достаточно однократного назначения.

[p.s.]А если нужно очень быстро вычислять высоту строки, то через API получаете параметры используемого в ячейке шрифта (высоту и ширину символа) и подбираете размер шрифта, зная высоту строки (если не включен перенос по словам, то достаточно знать только высоту символа, а если включен, то по средней ширине символа рассчитываете длину одной строки в ячейке и, зная кол-во символов в тексте, легко получаете кол-во строк в ячейке (учитывая, что перенос слов по пробелу), а следовательно и общую высоту текста в ячейке)[/p.s.]
К сообщению приложен файл: 5564973.xls (69.5 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
СообщениеУскорить можно разными способами и до разной степени...
Например, как вариант, оптимизировать ваш код. :) У вас там много лишних действий... (см. вложенный файл. код прокомментировал)
Макрос запускается по ENTER в поле № договора (ячейка DE20)

Кстати, запуск макроса у вас был назначен на нажатие Enter, поэтому вызывался ПРИ КАЖДОМ нажатии Enter, В ЛЮБОЙ ячейке, к тому же, при каждом перемещении по ячейкам у вас снова и снова происходит назначение вашего макроса на нажатие Enter. Можете объяснить зачем? Ведь достаточно однократного назначения.

[p.s.]А если нужно очень быстро вычислять высоту строки, то через API получаете параметры используемого в ячейке шрифта (высоту и ширину символа) и подбираете размер шрифта, зная высоту строки (если не включен перенос по словам, то достаточно знать только высоту символа, а если включен, то по средней ширине символа рассчитываете длину одной строки в ячейке и, зная кол-во символов в тексте, легко получаете кол-во строк в ячейке (учитывая, что перенос слов по пробелу), а следовательно и общую высоту текста в ячейке)[/p.s.]

Автор - KSV
Дата добавления - 12.06.2015 в 17:53
berya Дата: Воскресенье, 14.06.2015, 18:17 | Сообщение № 5
Группа: Проверенные
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо, рабоает при изменении значения в целевой ячейке.
 
Ответить
СообщениеСпасибо, рабоает при изменении значения в целевой ячейке.

Автор - berya
Дата добавления - 14.06.2015 в 18:17
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подбор размера шрифта по размеру ячейки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!