Страницы: 1
RSS
Автоподгонка размера текста в ячейке
 
Как сделать так чтобы размер текста в ячейке подгонялся с учетом определенной длины текста без усечения текста.  
Например:
 
Поэкспериментируйте с Форматом ячейки -> Выравнивание. Автоподбор, перенос по словам, распределенный... много что есть.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Это понятно!. Речь идет о фиксированном размере ячейке в которую вставляется текст разной длинны . нужно сделать так чтобы РАЗМЕР текста в ФИКСИРОВАННОЙ ячейке изменялся автоматически, (не ЯЧЕЙКА) в зависимости от длины текста.
 
Так Владимир Вам и ответил. Поставьте в форматировании Автоподбор ширины и шрифт уменьшится. А размер ячейки нет.
Я сам - дурнее всякого примера! ...
 
И все же такой вариант не устраивает.    
1. Если ввести длинный текст стандартными средствами он уменьшается и ТОЛЬКО по горизонтали без возможности переноса в несколько строк  
2. Если ввести новый короткий текст он становится таким же размером как и длинный, а мне нужно чтобы подгоняло размер в сотвести с ячейкой (к краям), если текст длинный то уменьшается с переносом на вторую строку, если текст короткий то размер шрифта должен быть увеличен на всю ячейку.
 
{quote}{login=loginvovchyk}{date=03.06.2010 03:35}{thema=Автоподгонка размера текста в ячейке}{post}Как сделать так чтобы размер текста в ячейке подгонялся с учетом определенной длины текста без усечения текста.  
Например:{/post}{/quote}  
Мне очень понравился Ваш "Например"  
Вы сами свой "Например" видите?  
В "формат ячейки" есть "переность по словам". Чем Вас не устраивает?
Я сам - дурнее всякого примера! ...
 
{quote}{login=KuklP}{date=03.06.2010 02:28}{thema=}{post}Так Владимир Вам и ответил. Поставьте в форматировании Автоподбор ширины и шрифт уменьшится. А размер ячейки нет.{/post}{/quote}  
опять полиграфия  
так не может работать  
можно изменить ширину или высоту  
шрифт меню Формат не изменить  
Автору  
также вид на экране и при печати две (и больше в зависимости от принтера) большие разницы  
короче в эксе затратно
 
тухачевский, или я Вас неправильно понял, или Вы неправы.  
ПКМ-формат ячейки.  
"Автоподбор ширины и шрифт уменьшится"  
Шрифт уменьшается. Пример что-ли выложить...
Я сам - дурнее всякого примера! ...
 
Размер шрифта уменьшится, но автор хотел и перенос ещё.
 
Дык, Юр я уж писал:  
"В "формат ячейки" есть "переность по словам". Чем Вас не устраивает?"  
и  
"Мне очень понравился Ваш "Например"  
Вы сами свой "Например" видите?"  
Видеть бы, что в-действительности хочет автор...
Я сам - дурнее всякого примера! ...
 
"Например" мне тоже понравился :-) Проблема, как я понял, заключается в том, что эти две опции ("переносить по словам" и "автоподбор ширины") не работают в паре. Или одно, или другое.
 
Ну правильно excel же не может "угадать" что хочет user или уменьшить шрифт, или расширить ячейку    
здесь можно попытаться макросом допустим если символов 20 применяется один вариант, если 40 другой ....  
может автору это надо?
Спасибо
 
Может. Но я бы не стал вешать это на Worksheet_Change для всего листа. Да и подозреваю, что результат работы такого макроса не понравился бы автору.  
Содержимое ячейки должно легко читаться. И документ-результат должен быть читаемым. А впихивать в каждую ячейку роман "Война и мир" Л.Н. Толстого - это не для табличного процессора. Если же речь идет только об одной ячейке, то и макрос городить нет смысла. Ручками быстрей. Но как писал The_Prist, "Неисповедимы пути вопрошающего". К этому и мое ехидство "Мне очень понравился Ваш "Например"". Знать бы что, зачем и куда - мможно было бы предметно обсуждать тему. А так мы просто гадаем. Напиши макрос, выяснится "Не так". Сколько раз уже на эти грабли...
Я сам - дурнее всякого примера! ...
 
ну да про пример я уже и забыл....подождем автора, авось объявиться за решением
Спасибо
 
{quote}{login=Юрий М}{date=04.06.2010 04:16}{thema=}{post}Размер шрифта уменьшится, но автор хотел и перенос ещё.{/post}{/quote}  
 
Все верно! У меня текст подставляется в ячейку автоматически. Иногда длинный, иногда короткий. Вот если ввести длинный текст то он уменьшается штатными фичами но без переноса, если подставляется короткий текст его размер остается таким же как был длинный текст, что меня не устраивает. А мне нужно чтобы текст автоматом подганялся к границам ячейки в зависимости от длины + с автопереносом если нужно.  
 
Ко всем: Что вы прицепились к "Например". Просто хотел привести пример но случайно клавишу Enter нажал и уже решил не приводить дабы не гадить топик.:)))
 
Никто не цеплялся к Вам. Мне вот интересно: каким образом приведение примера после нажатия клавиши Enter может загадить топик?
 
{quote}{login=loginvovchyk}{date=05.06.2010 01:02}{thema=Re: }{post}Что вы прицепились к "Например".{/post}{/quote}  
вообще тут постоянно все выпрашивают файл, что сделать и из чего сделать,  
ну на худой конец - подробно объяснить, что есть - что хочу...и заметьте что никто это  гадостью не называет, да и вообще как можно назвать файл c расширением .xls гадостью. Тут за такое и по "наглой рыжей морде" могут дать...  
вы бы лучше написали что вам конкретно надо  
второй раз пытаюсь добиться правды  
1. если знаков *** должно быть так  
2. если знаков  *** должно быть так  
3. если знаков  *** должно быть так  
ну и т.д.  
если вам файлы xls это гадость
Спасибо
 
Присоединяюсь к создателю топика.  
Пример:    
Журнал электронный со списком абитуриентов (студентов, школьников и т.д. и т.п.).  
Соответственно - размер ячейки для ФИО - жестко установлен и имеет ширину в 2 строчки.  
 
Типа:  
Иванов Иван  
Иванович  
Или:  
Александрова  
Елена Ивановна  
 
Но, спасибо Дагестану и Азербайджану и прочим, появились люди с, мягко говоря, некороткими ФИО:  
Дадобоев Мухаммаддюсуф Абдурасуллович  
(реальное имя, но есть ведь и с более длинными фамилиями).  
 
НУ НЕ ВЛАЗИТ ОНО В 2 СТРОЧКИ! НУ НИКАК!  
 
Соответственно - включен автоперенос по словам. Включить авторазмер шрифта вместе с автопереносом - НЕЛЬЗЯ. А оставить только авторазмер - шрифт становится ОЧЕНЬ мелким.  
Так вот КАК уменьшить шрифт настолько, чтобы такое имя ВЛЕЗЛО, но при этом уложилось в 2 строки при постоянной ширине ячеек?  
 
В примере - как раз такие 2 листа журнала.
 
Ах да, забыл сказать - конечно, можно сидеть и вручную уменьшать шрифт в ячейках с длинными фамилиями и увеличивать (до стандартного 14 пунктов - не больше!) в тех, где фамилия сменяется на более короткую.  
Но желательно автоматическое изменение шрифта при вставке в ячейки фамилийю
 
{quote}{login=LShark}{date=28.08.2012 06:24}{thema=}{post}Ах да, забыл сказать - конечно, можно...{/post}{/quote}И я думаю, что можно сделать по такому, например, варианту... Как вариант, разумеется... ;) -10734-
 
1. Вручную? Сэр... Записей более 800, из них примерно 20% - с длинными ФИО, не умещающимися в 14 шрифте в 2 строчки. Да тут проще застрелиться, чем сделать.  
 
2. А что Вы предложили? Сделать в 2 столбца? Нет. Надо ИМЕННО в 1 столбец. Так как количество столбцов, их размер и размещение должны умещаться при распечатке в стандартном листе.  
Поэтому надо именно УМЕНЬШИТЬ шрифт, чтобы независимо от длины ФИО разместился в данной ячейке.
 
если не хочется стреляться - можно застрелить тех из списка, у кого слишком длинные фамилии.  
ну или как вариант - тему почитать.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
{quote}{login=LShark}{date=28.08.2012 08:31}{thema=}{post}1...Да тут проще застрелиться... {/post}{/quote}  
А вы легких путей не ищИте - вот для "практики" вариантик:  
Остап-Сулейман-Берта-Мария-Бендер-Бей - он же - Бендер-Задунайский, Остап Ибрагимович... Это не ваш студент?... ;)  
зы Когда оченно хочется, но не получается - идут на компромиссы, однако, имхо...  -23040-
 
Сынов турецко-подданых у нас не поступало, а вот греки были из дальних.  
Я же говорю про перепись дагестанского и азербайджанского населения, в которую превращены списки внебюджетных отделений практически каждого ВУЗа.  
 
Вопрос продолжает быть актуальным - КАК автоматически уменьшить шрифт для того, чтобы текст разместился в ячейке, не изменяя ее размера?
 
ответ: макросом.  
 
пс. в вашем примере либо шрифт 14пт в две строчки не соответствует высоте ячейки, либо высота ячейки в 34пт не соответствует тексту из двух строчек шрифтом с кеглем 14. одно из двух :)  
по крайней мере, Excel считает, что минимально необходимая высота такой ячейки должна быть 37,5 пт.  
и он прав - при такой высоте ячейки текст читается, иначе (как сейчас) - кажется ущербным огрызком.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
{quote}{login=ikki}{date=28.08.2012 09:49}{thema=}{post}ответ: макросом.{/post}{/quote}  
вообще-то думаю, что алгоритм очевиден - он прост до безобразия.  
но на всякий случай озвучу:  
1) запоминаем (можно прямо в тексте макроса забить константой) "стандартное" значение высоты ячейки.  
2) для ЛЮБОЙ непустой ячейки устанавливаем шрифт в 14 пунктов.    
3) выполняем автоподбор высоты и проверяем - если высота ячейки в итоге стала больше 37,5 - уменьшаем кегль на 0,5 и снова в начало п.3  
4) принудительно устанавливаем "стандартную" высоту.  
 
макрос не шибко быстрый, но для 800 строк, думаю, в минуту точно уложится.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Это уже результат.  
Можно поподробнее про "автоподбор высоты"? Как это осуществить?  
Напомню, что в ячейке, в которой размещены ФИО, 2 строчки (и включено "перенос по словам".  
 
Кстати, для примера. Вышеназванная ФИО (Дадобоев Мухаммаддюсуф Абдурасуллович при уменьшении шрифта до 12 вставляется так (как и надо):  
Дадобоев Мухаммаддюсуф  
Абдурасуллович  
Если же шрифт 12,5 и более:  
Дадобоев  
Мухаммаддюсуф  
Абдурасуллович  
Соответственно, при выравнивании в ячейке "По вертикали - По центру" обрезается вверху половина фамилии, а внизу - половина отчества. Если же по высоте центрока другая - просто пропадает отчество.
Страницы: 1
Читают тему
Наверх