Как узнать ширину столбца в excel
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Описание того, как в Excel определяются ширины столбцов
Ширина стандартного столбца в Microsoft Excel 2000 — 8,43 символа; Однако фактическая ширина, отображаемая на экране, зависит от ширины шрифта, определенного для стиля «Обычный» книги. Изменение шрифта по умолчанию также изменяет ширину столбца. Это происходит из-за того, как Excel хранит сведения о ширине столбца для отдельных шрифтов. В этой статье описывается, как определяются ширины столбцов.
Дополнительные сведения
Excel начинается с ширины по умолчанию 8 символов и преобразует ее в заданное количество пикселей в зависимости от шрифта обычного стиля. Затем оно округляет это число до ближайшего кратного 8 пикселей, чтобы ускорить прокрутку по столбцам и строкам. Ширина пикселей хранится внутри Excel для размещения данных на экране. Число, отображаемое в диалоговом окне «Ширина столбца», — это ширина пикселя, повторно заданная в символьные единицы (на основе обычного шрифта) для отображения.
Ширина столбца 8,43 означает, что 8,43 символа шрифта по умолчанию помещаются в ячейку. Шрифт по умолчанию для листа — это шрифт, назначенный стилю «Обычный». В Excel 2000 используется фабриальный шрифт arial 10 по умолчанию.
Изменение DPI принтера может повлиять на метрики шрифта и изменить ширину столбца. В Microsoft Office Excel 2007 используется тема по умолчанию с именем Office. Эта тема по умолчанию имеет Cambria в качестве шрифта заголовка по умолчанию и Calibri 11 в качестве основного шрифта по умолчанию.
Чтобы определить шрифт по умолчанию на листе, выполните следующие действия.
- В меню «Формат» выберите пункт «Стиль».
- Прочитайте шрифт, указанный рядом с флажком «Шрифт».
Чтобы изменить шрифт по умолчанию, выполните следующие действия.
- В меню «Формат» выберите пункт «Стиль».
- Выберите команду «Изменить».
- На вкладке «Шрифт» выберите нужный шрифт, стиль и размер.
- Нажмите кнопку ОК.
Чтобы изменить шрифт по умолчанию в Excel 2007, выполните следующие действия.
- На вкладке «Разметка страницы» в группе «Темы » щелкните » Шрифты».
- Нажмите кнопку «Создать шрифты темы».
- В полях «Шрифт заголовка » и «Основной шрифт» выберите нужные шрифты. для использования.
- В поле «Именованный » введите Office , чтобы заменить шаблон по умолчанию.
- Щелкните Сохранить.
Если шрифт по умолчанию является непропорциональной (фиксированной шириной), например Courier, то 8,43 символа любого типа (цифры или буквы) помещаются в ячейку с шириной столбца 8,43, так как все символы Courier имеют одну и ту же ширину. Если шрифт является пропорциональным шрифтом, например Arial, 8,43 целых числа (например, 0, 1, 2 и т. д.) помещаются в ячейку с шириной столбца 8,43. Это связано с тем, что числа имеют фиксированное пространство с большинством пропорциональных шрифтов. Тем не менее, поскольку буквы не имеют фиксированного пробела с пропорциональными шрифтами, вместит больше символов «i» и меньше символов «w».
При изменении ширины столбца на дробное число ширина столбца может иметь другое число в зависимости от шрифта, используемого в стиле «Обычный». Например, при использовании шрифта в обычном стиле Arial при попытке изменить ширину столбца на 8,5 столбца устанавливается значение 8,57 или 65 пикселей. Это происходит из-за преобразования символов шрифта в пиксельные единицы. Не удается отобразить дробные пиксели; Таким образом, ширина столбца округляется до ближайшего числа, которое приводит к целой единице пикселей.
Пример поведения ширины столбца
- В новой книге Excel выберите ячейку A1.
- В меню «Формат» наведите указатель мыши на столбец и выберите пункт «Ширина».
- В поле ширины столбца введите 10 (ширина 75 пикселей) и нажмите кнопку «ОК».
- В меню «Формат» щелкните «Стиль», а затем убедитесь, что шрифт по умолчанию имеет значение Arial 10.
- В ячейке A1 введите 1234567890.
Примечание. Буквы идеально помещаются в ячейку, а ширина столбца по-прежнему 10 (ширина — 75 пикселей).
Поведение ширины столбцов в Excel 2007
Чтобы задать ширину столбца в Excel 2007, выполните следующие действия.
- В первом столбце щелкните A , чтобы выбрать столбец, а затем щелкните правой кнопкой мыши и выберите ширину столбца.
- Введите ширину столбца.
- Нажмите кнопку ОК.
Поведение ширины столбца в Excel 2007 такое же, как указано выше. Если вы измените шрифты после установки ширины, она будет настраиваться для новых шрифтов в соответствии с шириной пикселей.
Обратная связь
Были ли сведения на этой странице полезными?
Как узнать ширину столбца в excel
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Программно задать ширину столбца Excel в пикселах (Width, ColumnWidth)
Вроде бы — элементарное действие. но нет, здесь Microsoft нам усложнил задачу.
Получить ширину столбца в пикселах — не проблема, для этого есть свойство Width:
MsgBox "Ширина столбца с активной ячейкой: " & ActiveCell.Width
Но, увы, это свойство доступно только для чтения, — а для назначения ширины столбца нам придётся изменять значение другого свойства — ColumnWidth, которое задаётся отнюдь не в пикселах, а в символах (количестве знаков, которые поместятся в ячейке)
Результат — мы не можем со 100% точностью задать ширину столбца, чтобы она была равна заданному количеству пикселей.
Стал искать решение проблемы на сайте Microsoft — и увидел чудный макрос, который сначала ставит приблизительную ширину, и потом В ЦИКЛЕ подгоняет (увеличивает или уменьшает) значение ширины, до тех пор, пока результат не приблизитс к ожидаемому.
Я и сам пользовался подобным решением — для макроса вставки картинок в Excel, но когда пришла пора реализовать то же самое в универсальной программе для вставки изображений в Excel, понял, что надо искать более удобный способ
К тому же, подбор ширины столбца в цикле — очень медленный способ.
И вот что получилось:
Sub SetColumnWidth() w = 100 ' желаемая ширина столбца в пикселах cw = IIf(w > 9, (w / 0.75 - 5) / 7, w / 9) ' вычисляем ширину в символах ActiveCell.ColumnWidth = cw ' устанавливаем новую ширину MsgBox "Новая ширина: " & ActiveCell.Width ' смотрим, что получилось End Sub
Запустив этот макрос, вы увидите, что установленная ширина столбца почти совпадает с исходной.
Небольшое расхождение обычно некритично (всё-таки, Excel — это не графический редактор, где важна точность)
Еще один макрос — для тестирования применённого способа перевода Width в ColumnWidth:
Sub Test_ColWidth() For w = 1 To 400 Step 2 ' желаемая ширина столбца cw = IIf(w > 9, (w / 0.75 - 5) / 7, w / 9) ' вычисляем ColumnWidth ActiveCell.ColumnWidth = cw ' и применяем к активной ячейке Debug.Print "Желаемая ширина = " & w, "полученная ширина = " & ActiveCell.Width, _ "ColumnWidth (в символах) = " & Format(cw, "0.00"), _ "совпадение = " & Format(ActiveCell.Width / w, "0.00%") Next w End Sub
Результат работы этого макроса:
Желаемая ширина = 3 полученная ширина = 3 ColumnWidth (в символах) = 0,33 совпадение = 100,00%
Желаемая ширина = 5 полученная ширина = 5,25 ColumnWidth (в символах) = 0,56 совпадение = 105,00%
Желаемая ширина = 7 полученная ширина = 6,75 ColumnWidth (в символах) = 0,78 совпадение = 96,43%
Желаемая ширина = 9 полученная ширина = 9 ColumnWidth (в символах) = 1,00 совпадение = 100,00%
Желаемая ширина = 11 полученная ширина = 11,25 ColumnWidth (в символах) = 1,38 совпадение = 102,27%
Желаемая ширина = 13 полученная ширина = 12,75 ColumnWidth (в символах) = 1,76 совпадение = 98,08%
Желаемая ширина = 15 полученная ширина = 15 ColumnWidth (в символах) = 2,14 совпадение = 100,00%
Желаемая ширина = 17 полученная ширина = 17,25 ColumnWidth (в символах) = 2,52 совпадение = 101,47%
Желаемая ширина = 19 полученная ширина = 18,75 ColumnWidth (в символах) = 2,90 совпадение = 98,68%
Желаемая ширина = 21 полученная ширина = 21 ColumnWidth (в символах) = 3,29 совпадение = 100,00%
Желаемая ширина = 23 полученная ширина = 23,25 ColumnWidth (в символах) = 3,67 совпадение = 101,09%
Желаемая ширина = 25 полученная ширина = 24,75 ColumnWidth (в символах) = 4,05 совпадение = 99,00%
Желаемая ширина = 27 полученная ширина = 27 ColumnWidth (в символах) = 4,43 совпадение = 100,00%
Желаемая ширина = 29 полученная ширина = 29,25 ColumnWidth (в символах) = 4,81 совпадение = 100,86%
Желаемая ширина = 31 полученная ширина = 30,75 ColumnWidth (в символах) = 5,19 совпадение = 99,19%
Желаемая ширина = 33 полученная ширина = 33 ColumnWidth (в символах) = 5,57 совпадение = 100,00%
Желаемая ширина = 35 полученная ширина = 35,25 ColumnWidth (в символах) = 5,95 совпадение = 100,71%
Желаемая ширина = 37 полученная ширина = 36,75 ColumnWidth (в символах) = 6,33 совпадение = 99,32%
Желаемая ширина = 39 полученная ширина = 39 ColumnWidth (в символах) = 6,71 совпадение = 100,00%
Желаемая ширина = 41 полученная ширина = 41,25 ColumnWidth (в символах) = 7,10 совпадение = 100,61%
Желаемая ширина = 43 полученная ширина = 42,75 ColumnWidth (в символах) = 7,48 совпадение = 99,42%
Желаемая ширина = 45 полученная ширина = 45 ColumnWidth (в символах) = 7,86 совпадение = 100,00%
Желаемая ширина = 47 полученная ширина = 47,25 ColumnWidth (в символах) = 8,24 совпадение = 100,53%
Желаемая ширина = 49 полученная ширина = 48,75 ColumnWidth (в символах) = 8,62 совпадение = 99,49%
Желаемая ширина = 51 полученная ширина = 51 ColumnWidth (в символах) = 9,00 совпадение = 100,00%
Желаемая ширина = 53 полученная ширина = 53,25 ColumnWidth (в символах) = 9,38 совпадение = 100,47%
Желаемая ширина = 55 полученная ширина = 54,75 ColumnWidth (в символах) = 9,76 совпадение = 99,55%
Желаемая ширина = 57 полученная ширина = 57 ColumnWidth (в символах) = 10,14 совпадение = 100,00%
Желаемая ширина = 59 полученная ширина = 59,25 ColumnWidth (в символах) = 10,52 совпадение = 100,42%
Желаемая ширина = 61 полученная ширина = 60,75 ColumnWidth (в символах) = 10,90 совпадение = 99,59%
Желаемая ширина = 63 полученная ширина = 63 ColumnWidth (в символах) = 11,29 совпадение = 100,00%
Желаемая ширина = 65 полученная ширина = 65,25 ColumnWidth (в символах) = 11,67 совпадение = 100,38%
Желаемая ширина = 67 полученная ширина = 66,75 ColumnWidth (в символах) = 12,05 совпадение = 99,63%
Желаемая ширина = 69 полученная ширина = 69 ColumnWidth (в символах) = 12,43 совпадение = 100,00%
Желаемая ширина = 71 полученная ширина = 71,25 ColumnWidth (в символах) = 12,81 совпадение = 100,35%
Желаемая ширина = 73 полученная ширина = 72,75 ColumnWidth (в символах) = 13,19 совпадение = 99,66%
Желаемая ширина = 75 полученная ширина = 75 ColumnWidth (в символах) = 13,57 совпадение = 100,00%
Желаемая ширина = 77 полученная ширина = 77,25 ColumnWidth (в символах) = 13,95 совпадение = 100,32%
Желаемая ширина = 79 полученная ширина = 78,75 ColumnWidth (в символах) = 14,33 совпадение = 99,68%
Желаемая ширина = 81 полученная ширина = 81 ColumnWidth (в символах) = 14,71 совпадение = 100,00%
Желаемая ширина = 83 полученная ширина = 83,25 ColumnWidth (в символах) = 15,10 совпадение = 100,30%
Желаемая ширина = 85 полученная ширина = 84,75 ColumnWidth (в символах) = 15,48 совпадение = 99,71%
Желаемая ширина = 87 полученная ширина = 87 ColumnWidth (в символах) = 15,86 совпадение = 100,00%
Желаемая ширина = 89 полученная ширина = 89,25 ColumnWidth (в символах) = 16,24 совпадение = 100,28%
Желаемая ширина = 91 полученная ширина = 90,75 ColumnWidth (в символах) = 16,62 совпадение = 99,73%
Желаемая ширина = 93 полученная ширина = 93 ColumnWidth (в символах) = 17,00 совпадение = 100,00%
Желаемая ширина = 95 полученная ширина = 95,25 ColumnWidth (в символах) = 17,38 совпадение = 100,26%
Желаемая ширина = 97 полученная ширина = 96,75 ColumnWidth (в символах) = 17,76 совпадение = 99,74%
Желаемая ширина = 99 полученная ширина = 99 ColumnWidth (в символах) = 18,14 совпадение = 100,00%
Желаемая ширина = 101 полученная ширина = 101,25 ColumnWidth (в символах) = 18,52 совпадение = 100,25%
Желаемая ширина = 103 полученная ширина = 102,75 ColumnWidth (в символах) = 18,90 совпадение = 99,76%
Желаемая ширина = 105 полученная ширина = 105 ColumnWidth (в символах) = 19,29 совпадение = 100,00%
Желаемая ширина = 107 полученная ширина = 107,25 ColumnWidth (в символах) = 19,67 совпадение = 100,23%
Желаемая ширина = 109 полученная ширина = 108,75 ColumnWidth (в символах) = 20,05 совпадение = 99,77%
Желаемая ширина = 111 полученная ширина = 111 ColumnWidth (в символах) = 20,43 совпадение = 100,00%
Желаемая ширина = 113 полученная ширина = 113,25 ColumnWidth (в символах) = 20,81 совпадение = 100,22%
Желаемая ширина = 115 полученная ширина = 114,75 ColumnWidth (в символах) = 21,19 совпадение = 99,78%
Желаемая ширина = 117 полученная ширина = 117 ColumnWidth (в символах) = 21,57 совпадение = 100,00%
Желаемая ширина = 119 полученная ширина = 119,25 ColumnWidth (в символах) = 21,95 совпадение = 100,21%
Желаемая ширина = 121 полученная ширина = 120,75 ColumnWidth (в символах) = 22,33 совпадение = 99,79%
Желаемая ширина = 123 полученная ширина = 123 ColumnWidth (в символах) = 22,71 совпадение = 100,00%
- 32199 просмотров