Страницы: 1
RSS
Отобразить в ячейке число целиком, сохранив ширину столбца
 
Здравствуйте Уважаемые специалисты excel!
Подскажите пожалуйста как с помощью кода (vba excel 2003) не изменяя ширину столбцов, заставить числа в ячейках отображаться целиком в выделенном диапазоне (Range("E6", Cells(Rows.Count, "X").End(xlUp)).Select)?
Заранее спасибо!
 
Уменьшать размер шрифта. Макрорекордером запишите и будет Вам "код VBA"
Согласие есть продукт при полном непротивлении сторон
 
Длина числа может быть разной. Не знаю как подобрать размер шрифта. Как кодом проверять, поместилось число в ячейку или нет, то уменьшить шрифт на 1 пт и т.д.?
 
Может быть можно обойтись без макросов - поставьте флажок "Автоподбор ширины" (вкладка "Главная" - Число - справа стрелка - вкладка "Выравнивание").
 
Цитата
Karataev написал: можно обойтись без макросов
Согласна: нужно всего лишь заранее отформатировать нужные ячейки.
И никаких "заморочек" с выбором шрифта.  :)
Изменено: Мотя - 29.05.2016 00:51:20
 
А как же
Цитата
сохранив ширину столбца
 
Cм.
 
2003: Формат ячеек (Выравнивание (Автоподбор ширины)).
 
Мотя, но ведь автоподбор ширины подразумевает изменение ширины столбца. Правильно? )
 
ТС спрашивает, как узнать вмещается ли текст в ячейку определенной ширины.
Если не умещается, то уменьшить размер шрифта, и опять проверить.
ПРОГРАММНО.
 
У меня как-то была похожая задача. Я её решил так:
1. Задал ячейке моноширный шрифт, например Courier New
2. Проверил сколько символов влезает при размере 14, сколько при 13 и т.д.
3. В макросе:
Код
Select Case Len(текст_в_ячейку)
    Case Is <= число_при_14
        f_size= 14
    Case Is <= число_при_13
        f_size = 13
    Case Is <= число_при_12
        f_size = 12
    Case Is <= число_при_11
        f_size = 11
    Case Else
        f_size = 10
End Select
With Cells(строка, столбец)
    .Font.Size = f_size
    .Value = текст_в_ячейку
End With
Изменено: Ts.Soft - 28.05.2016 22:03:03
Не стреляйте в тапера - он играет как может.
 
Kuzmich,
Да, хотелось бы программно осуществить.
 
Цитата
Юрий М написал:
автоподбор ширины подразумевает изменение ширины столбца
Посмотрите  в файле форматы выделенных ячеек.
 
Теперь понял )
 
К сожалению автоподбор ширины (.ShrinkToFit = True) не работает если задан перенос по словам (.WrapText = True)
Не стреляйте в тапера - он играет как может.
 
А в данном случае перенос и не нужен: как я понял, в ячейке одно число )
 
Юрий М, логично. для чисел автоподбор ширины самое то. Просто у меня был текст который нужно было вписать в заданный квадрат, а длина даже самого короткого варианта текста была такая что при автоподборе ширины текст становился нечитаемым. Перенос по словам решил проблему до определённой длины текста, далее пришлось в зависимости от длины уменьшать размер шрифта.
Не стреляйте в тапера - он играет как может.
 
Цитата
Ts.Soft написал:
пришлось в зависимости от длины уменьшать размер шрифта.
А подобная тема у нас уже была. Только не помню уже её )
 
Цитата
Ts.Soft написал:
у меня был текст который нужно было вписать в заданный квадрат, а длина даже самого короткого варианта текста была такая что при автоподборе ширины текст становился нечитаемым
Еще никто не покупал авиабилеты на прямые рейсы из Владивостока в Томск.  :D
Авиабилеты Владивосток в Томск с пересадками...
Из Владивостока в Томск можно долететь с пересадкой в Москве (от 93 808 руб.), в Красноярске (от 17 222 руб.) и в Екатеринбурге (от 36 996 руб.).
Страницы: 1
Наверх