0 / 0 / 0 Регистрация: 17.01.2020 Сообщений: 7 |
|
1 |
|
Изменение высоты строки по условию08.10.2021, 11:02. Показов 1662. Ответов 11
Добрый день. Подскажите, пожалуйста, можно ли как-то (с помощью макроса или еще как) менять значение высоты строки ячейки (в единицах измерения пт) по вычисленному значению этой высоты (значение находится в ячейке) ? Покажу на примере что мне нужно: Можно ли это как-то автоматизировать, чтоб не устанавливать высоту в каждой строчке вручную?
0 |
Narimanych 2628 / 1634 / 744 Регистрация: 23.03.2015 Сообщений: 5,135 |
||||
08.10.2021, 11:12 |
2 |
|||
Maidar,
с помощью макроса
то высота строки 6 равна 37,5 пт. Мне нужно установить высоту этой строки 40 пт.
0 |
ᴁ® 3069 / 1735 / 361 Регистрация: 13.12.2016 Сообщений: 5,937 Записей в блоге: 4 |
|
08.10.2021, 11:20 |
3 |
Сообщение было отмечено Maidar как решение Решениеможно макросом Миниатюры
1 |
0 / 0 / 0 Регистрация: 17.01.2020 Сообщений: 7 |
|
08.10.2021, 11:45 [ТС] |
4 |
Narimanych,
можно макросом Возможно, я чего-то не понимаю. Попробовал Ваш макрос, эксель выдает ошибку и выделяет (x1Up)
0 |
ᴁ® 3069 / 1735 / 361 Регистрация: 13.12.2016 Сообщений: 5,937 Записей в блоге: 4 |
|
08.10.2021, 12:28 |
5 |
Возможно, я чего-то не понимаю. тогда найдите другой способ найти последнюю заполненную строку в 11 столбце или явно укажите 20 или 30 (сколько там строк)
1 |
0 / 0 / 0 Регистрация: 17.01.2020 Сообщений: 7 |
|
08.10.2021, 12:35 [ТС] |
6 |
тогда найдите другой способ найти последнюю заполненную строку в 11 столбце или явно укажите 20 или 30 (сколько там строк) Простите за глупый вопрос. Куда именно нужно прописать количество строк? Изменено: Разобрался. Спасибо!
0 |
ᴁ® 3069 / 1735 / 361 Регистрация: 13.12.2016 Сообщений: 5,937 Записей в блоге: 4 |
|
08.10.2021, 12:36 |
7 |
а лучше писать без ошибок. С картинки оно так….
lr = 20 ? да
1 |
2628 / 1634 / 744 Регистрация: 23.03.2015 Сообщений: 5,135 |
|
08.10.2021, 17:07 |
8 |
Narimanych,
Например, было вычислено, что высота строки 6 равна 37,5 пт. Мне нужно установить высоту этой строки 40 пт.
Мне нужно немного иное — выставить значения высот в определенном столбце для всех ячеек в рассматриваемой таблице Почему бы в начале не написать это совсем другое? Пы.Сы Научитесь ставить правильно вопросы!
0 |
Dinoxromniy 1232 / 670 / 238 Регистрация: 22.12.2015 Сообщений: 2,089 |
||||
08.10.2021, 17:27 |
9 |
|||
Мне нужно немного иное — выставить значения высот в определенном столбце для всех ячеек в рассматриваемой таблице, и после автоматически применить эти значения к высотам строк. выделите свой определенный столбец для всех ячеек, чтобы эти слова ни значили, затем запустите код ниже, он установит для каждой строки значение высоты, равное значению ячейки (или нескольких по очереди, если выделите по горизонтали) из этой строки. Ячейки можно выделить контролом из нескольких несвязанных диапазонов.
Не по теме:
Почему бы в начале не написать это совсем другое? Подпишусь под каждым словом
0 |
Fairuza |
08.10.2021, 18:29
|
Не по теме:
Пы.Сы Научитесь ставить правильно вопросы! скоро все будем копировать подпись АЕ
0 |
Dinoxromniy |
08.10.2021, 18:49
|
Не по теме:
скоро все будем копировать подпись АЕ Сие вряд ли — у меня как минимум отключено отображение подписей участников.
0 |
344 / 206 / 78 Регистрация: 16.07.2020 Сообщений: 589 |
|
08.10.2021, 19:42 |
12 |
Возможно, я чего-то не понимаю. Попробовал Ваш макрос, эксель выдает ошибку и выделяет (x1Up) После «x» должна быть латинская буква «l» (эль), а не единица «1».
0 |
Чтобы изменить высоту строки на листе, большинство из нас может применить функцию «Высота строки», чтобы установить высоту выбранной строки. Однако, если у вас есть список чисел, и теперь вы хотите установить высоту строки на основе значений ячеек, как показано на следующем снимке экрана, как вы могли бы справиться с этой задачей в Excel?
Измените высоту строки на основе значения ячейки с кодом VBA
Измените высоту строки на основе значения ячейки с кодом VBA
Нет прямого способа изменить высоту нескольких строк на основе значения ячейки за один раз, но с помощью следующего кода VBA он может помочь вам завершить эту работу как можно быстрее.
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: изменение высоты строки в зависимости от значения ячейки:
Sub rowheight()
'Updateby Extendoffice
Dim hgt As Variant
Dim WorkRng As Range
xTxt = ActiveWindow.RangeSelection.Address
Set WorkRng = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
For Each H In WorkRng
If H.Value > 15 Then
hgt = H.Value
H.EntireRow.Select
Selection.rowheight = hgt
End If
Next H
End Sub
3, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно, напоминающее вам о выборе ячеек, для которых вы хотите установить высоту строки по значениям ячеек, см. снимок экрана:
4, Затем нажмите OK кнопка, высота строки была изменена на значение ячейки следующим образом:
Внимание: В приведенном выше коде VBA Если H.Value> 15, то указывает, что если значение ячейки больше 15, высота строки будет изменена, если значение ячейки меньше 15, высота строки останется высотой по умолчанию. Вы можете изменить его по своему усмотрению.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (0)
Оценок пока нет. Оцените первым!
Включение автоподбора высоты строки в Microsoft Excel
Смотрите также увеличиваем высоту верхней предупреждением о последствиях высоту верхней строки в следующей части объектов. Так как If Next nCol Cell = aRng.Cells(nRow, подгонять высоту только ты раньше был?». командой сайта office-guru.ru в соответствии с изменять высоту строк кнопкой мыши. В последнему сектору панели это сделать различнымиКаждый пользователь, работающий в строки на соответствующую
объединения. DispAl := на соответствующую величину.
Применение атоподбора
‘программы не появлялось Cell и MRng.Cells(1, Next nRow ‘Восстанавливаем nCol) ‘Определяем диапазон верхней строки, входящейАндрей субботинИзменение ширины столбцов илиИсточник: http://www.gcflearnfree.org/office2013/excel2013/8/full содержимым ячеек. и ширину столбцов меню переходим по координат требуемой области. способами на примере
Экселе, рано или величину. if H1 aRng.Application.DisplayAlerts; aRng.Application.DisplayAlerts := If H1 < сообщение с предупреждением 1) принадлежат типу прежний режим показа объединения, в который в объединение. При: и ничего… высоты строкАвтор/переводчик: Антон АндроновВы можете воспользоваться инструментом и устанавливать их пункту При этом все версии Excel 2010.
поздно встречается с < H2 then False; //Перебор всех H2 Then Cell.Rows(1).RowHeight о последствиях объединения. Excel.Range, то для предупреждений. Application.DisplayAlerts = входит ячейка Cell. этом, изменять высоту,FistashkaВставка строк, столбцов илиАвтор: Антон АндроновАвтоподбор нужной величины. Excel«Формат ячеек…»
её строки будут Вместе с тем ситуацией, когда содержимое Cell.Rows[1].RowHeight := HRow1 ячеек диапазона. for = HRow1 + DispAl = Application.DisplayAlerts них свойством по DispAl End Sub Set MRng = если потребуется, будем: В ячейку вставляется ячеекПримечание:для изменения ширины предлагает множество инструментов.
Способ 1: панель координат
выделены. нужно заметить, что ячейки не вмещается + (H2 - nRow := 1
- (H2 — H1) Application.DisplayAlerts = False умолчанию будет Value. ‘Проверка. Sub Sub1() Cell.MergeArea ‘Если в только в сторону очень длинный текст,
- Перемещение и копирование ячеек,Мы стараемся как сразу нескольких столбцов. осуществить это, включаяВ открывшемся окне форматированияУстанавливаем курсор на нижнюю полностью аналогичный алгоритм в её границы.
- H1) ; //Возвращаем to aRng.Rows.Count do End If ‘Возвращаем ‘Перебор всех ячеек Т. е. код: Dim Rng As самом деле ячейка увеличения. Уменьшать высоту который при печати
Способ 2: включение автоподбора для нескольких строк
строк или столбцов можно оперативнее обеспечивать Для этого выделите функцию автоподбора высоты переходим во вкладку границу любого из действий можно использовать В таком случае левому столбцу диапазона for nCol := левому столбцу диапазона диапазона. For nRowIf … (Cell Excel.Range Dim Sh принадлежит диапазону объединённых
- не будем, чтобы просто не виден.Отображение и скрытие значений вас актуальными справочными столбцы, которые необходимо и ширины. В«Выравнивание» выделенных секторов на как для более
существует несколько выходов его прежнюю ширину. 1 to aRng.Columns.Count его прежнюю ширину. = 1 To = MRng.Cells(1, 1)) As Excel.Worksheet Set ячеек и эта не нарушить соотношения Нужно, чтобы продолжение ячеек материалами на вашем изменить, а затем
- данном уроке мы. В блоке настроек панели координат. При поздних версий программы, из сложившегося положения: Cell.ColumnWidth := WCol1; do begin //Берём Cell.ColumnWidth = WCol1 aRng.Rows.Count For nCol … Thenэквивалентен коду: Sh = Application.ActiveSheet
- ячейка ‘является левой по уже сделанным текста переносилось вAbram pupkin языке. Эта страница на вкладке
рассмотрим самые распространенные«Выравнивание» этом курсор должен
Способ 3: кнопка на ленте инструментов
так и для сократить размер содержимого; //Объединяем все нужные очередную ячейку. Cell ‘Объединяем все нужные
- = 1 ToIf … (Cell.Value Set Rng = верхней ячейкой в ранее объединениям. сторку ниже.: 1. Топнуть мышкой переведена автоматически, поэтомуГлавная способы изменения размеровв поле параметра принять точно такую Excel 2007. смириться с существующей ячейки. MRng.MergeCells := := aRng.Cells[nRow, nCol]; ячейки. MRng.MergeCells =
- aRng.Columns.Count ‘Берём очередную = MRng.Cells(1, 1).Value) Sh.Range(«A1:J5») RngAutoFit Rng этом диапазоне, тогдаПо этому условиюПишу на Delphi. в самый левый
Способ 4: подбор высоты для объединенных ячеек
ее текст можетиз раскрывающегося меню строк и столбцов.«По горизонтали» же форму, какПервый способ предполагает работу ситуацией; расширить ширину True; end; //for //Определяем диапазон объединения, True End If ячейку. Set Cell … ThenА это End SubОсталось код запускаем алгоритм подгона в VBA у
- Mawrat верхний угол содержать неточности и командыПри создании новой книгивыбираем значение и в прошлый с вертикальной панелью
- ячеек; расширить их nRow, nCol. //Восстанавливаем в который входит Next nCol Next = aRng.Cells(nRow, nCol) не то что процедуры RngAutoFit() перевести высоты. If Cell.MergeCells меня получился такой: Для такой ячейки2. топнуть по грамматические ошибки. ДляФормат все строки и
- «По центру выделения» раз. Два раза координат, на которой высоту. Как раз прежний режим показа ячейка Cell. MRng nRow ‘Восстанавливаем прежний ‘Определяем диапазон объединения, нам нужно. Нам на Delphi. And (Cell = код: надо выставить свойство любой цифре правой нас важно, чтобывыберите пункт столбцы устанавливаются одной. После того, как щелкаем левой кнопкой располагаются номера строк о последнем варианте, предупреждений. aRng.Application.DisplayAlerts :=
- := Cell.MergeArea; //Если режим показа предупреждений. в который входит надо не значение—
MRng.Cells(1, 1)) ThenOption Explicit ‘Эта WrapText := True. мышкой эта статья былаАвтоподбор ширины столбца высоты и ширины, конфигурирование произведено, жмем мыши. таблицы. а именно об DispAl; end; procedure в самом деле Application.DisplayAlerts = DispAl ячейка Cell. Set ячеек сравнивать, аИдея этого алгоритма ‘Высота верхней строки процедура предназначена дляDelphi var exCell,3. Высота строки вам полезна. Просим. Этот же способ
это происходит по
lumpics.ru
Изменение ширины столбцов и высоты строк в Excel
на кнопкуПосле выполнения вышеуказанной процедурыКликаем по номеру той автоподборе высоты строки TForm1.Button1Click(Sender: TObject); var ячейка принадлежит диапазону End Sub ‘Проверка. MRng = Cell.MergeArea выяснить, ссылаются ли такая: в диапазоне объединения. подгона высоты строк … : Variant; установить нужный размер
вас уделить пару может быть использован умолчанию. Excel позволяет«OK» все строки выделенного строки на панели мы и поговорим App, Book, Sh, объединённых ячеек и Sub Sub1() Dim ‘Если в самом эти переменные на- Замеряем размеры
Изменение ширины столбца в Excel
HRow1 = MRng.Rows(1).RowHeight по содержимому ячеек begin … exCell.WrapTextАлексей зайцев секунд и сообщить, для автоподбора высоты изменять ширину столбцов. диапазона будут увеличены координат, к которой дальше. Rng : Variant;
- эта ячейка //является Rng As Excel.Range деле ячейка принадлежит одну и ту
- объединённой ячейки. ‘Подсчитываем исходную высоту ‘в пределах заданного := True; //Перенос: Меню Формат -
- помогла ли она строки.
и высоту строкПосле этих действий данные в высоту на нужно применить автоподборСкачать последнюю версию Od : TOpenDialog; левой верхней ячейкой Dim Sh As диапазону объединённых ячеек же ячейку. Для- Затем, разъединяем
Автоподбор ширины столбца и высоты строки в Excel
диапазона объединения по диапазона aRng. Sub текста по словам.После Строка — Автоподбор вам, с помощьюНаведите курсор на нижнюю
- самыми различными способами, расположились по всей размер хранящихся в высоты. После этого
- Excel begin Od := в этом диапазоне, Excel.Worksheet Set Sh и эта ячейка
этого было решено диапазон. При этом, совокупности всех его RngAutoFit(ByRef aRng As того, как во высоты. Должно работать кнопок внизу страницы. границу заголовка строки, в том числе зоне выделения, хотя их ячейках данных. действия вся строчкаАвтоподбор – это встроенный OpenDialog1; if Od.InitialDir тогда запускаем алгоритм = Application.ActiveSheet Set ‘является левой верхней использовать свойство Address.
Изменение высоты строки в Excel
- весь текст окажется строк. H1 = Excel.Range) Dim Cell всех ячейках нужного
- Владимир беликов Для удобства также он примет вид с помощью переноса по факту продолжают
- Урок: будет выделена.
Изменение высоты всех строк на листе Excel
инструмент Excel, который = » then подгона высоты. //Иначе Rng = Sh.Range(«A1:J5») ячейкой в этом— в левой верхней HRow1 For i As Excel.Range ‘Отдельная диапазона текст будет: правой кнопкой - приводим ссылку на двойной стрелки.
- текста по словам храниться в крайнейКак выделить ячейки вСтановимся на нижнюю границу помогает произвести расширение Od.InitialDir := ExtractFilePath( — пропускаем итерацию. RngAutoFit Rng End
- диапазоне, тогда запускаемОкончательный код VBA: ячейке диапазона объединения. = 2 To
- ячейка. Dim MRng установлен, можно выполнить формат ячеек, там оригинал (на английскомНажмите и, не отпуская
- и объединения ячеек. левой ячейке, так Excel строки в секторе
ячеек по содержимому. ParamStr(0) ) ; if not ( SubКод Delphi: алгоритм подгона высоты.Option Explicit ‘Эта
- Задаём ширину MRng.Rows.Count H1 =
As Excel.Range ‘Диапазон
подбор высоты строк
в какой-то из
office-guru.ru
Настройка размера столбца по размеру данных
языке) . левую кнопку мыши,На примере ниже некоторая как объединения элементов,Кроме того, для включения панели координат. Курсор Сразу нужно отметить, if not Od.Execute Cell.MergeCells and (Cell.AddressDelphi uses ComObj; If Cell.MergeCells And процедура предназначена для левой верхней ячейки H1 + MRng.Rows(i).RowHeight объединения ячеек. Dim так, чтобы весь вкладок надо галочкуЧтобы в каждой ячейке переместите курсор, чтобы часть текста в по сути, не автоподбора по высоте
Зачем это нужно?
должен приобрести вид что несмотря на then Exit; if = MRng.Cells[1, 1].Address) //Эта процедура предназначена
Как это сделать?
-
(Cell.Address = MRng.Cells(1, подгона высоты строк равной ширине исходного
-
Next i ‘Ширина DispAl As Boolean текст с учётом
Советы
-
поставить «переносить текст помещалось все ее увеличить или уменьшить столбце
-
произошло. Поэтому, если, ячейки можно использовать стрелки направленной в название эта функция not FileExists(Od.FileName) then ) then Continue;
-
для подгона высоты 1).Address) Then ‘Высота по содержимому ячеек объединённого диапазона.
левого столбца в Dim nRow As переносов оказался видимым: по словам» содержимое и чтобы высоту строки.A например, нужно будет специальный инструмент на две стороны. Делаем
не применяется автоматически. begin MessageBox( 0 //Высота верхней строки строк по содержимому верхней строки в в пределах ‘заданного- Выполняем для диапазоне объединения. WCol1 Long Dim nColDelphi var exRange,Вадим кульпинов на листе не
См. также
Отпустите левую кнопку мыши.не отображается, поскольку
удалить текст, то ленте.
двойной щелчок левой Для того, чтобы
,PChar(‘Файл с заданным в диапазоне объединения.
support.office.com
Как сделать в excel автоматический подгон ячеек по высоте? все что в интернете нашла не помогло(( помогите плиз.
ячеек в пределах диапазоне объединения. HRow1 диапазона aRng. Ячейки левой верхней ячейки
= MRng.Columns(1).ColumnWidth ‘Подсчитываем As Long Dim … : Variant;
: Выделяешь ячейки, которые появлялась ошибка ;##.
Высота строки изменится. ширина ячейки слишком сделать это можноВыделяем диапазон на листе,
кнопкой мыши. расширить конкретный элемент, именем не найден. HRow1 := MRng.Rows[1].RowHeight; //заданного диапазона aRng. = MRng.Rows(1).RowHeight ‘Подсчитываем могут быть любыми,
подгон высоты. исходную ширину диапазона HRow1 As Long begin … exRange.Rows.AutoFit; нужно подогнать. ПравойНаведите указатель на разделительВместо того чтобы изменять мала. Мы можем будет только в
Как сделать в Эксель чтобы высота строки менялась в зависимости от написанного в нее текста сама?
к которому нужноПосле этих действий при нужно выделить диапазон Действие отменено.’) ,PChar(‘Предупреждение.’) //Подсчитываем исходную высоту Ячейки могут быть исходную высоту диапазона в том числе,- Затем, сравниваем
объединения по совокупности ‘Высота верхней строки
//Подпор высоты строк кнопкой на них. справа от столбца, размеры строк и сделать весь текст крайней левой ячейке. применить автоподбор. Находясь
неизменном состоянии ширины и применить к ,MB_OK + MB_ICONWARNING диапазона объединения по любыми, в том объединения по совокупности объединёнными. Sub RngAutoFit(ByRef полученную высоту с всех его столбцов.
в диапазоне объединения. по содержимому ячеек.Также Выбираешь Формат ячеек. который нужно расширить. столбцов по отдельности, видимым, просто изменив
Далее опять выделяем во вкладке высота строки автоматически
нему указанный инструмент. + MB_APPLMODAL );
Выравнивание высоты объединённых ячеек Excel по их содержимому. AutoFit для объединённых ячеек Excel.
совокупности всех его числе, объединёнными. procedure всех его строк. aRng As Excel.Range) исходной высотой всего W1 = WCol1 Dim H1 As можно выполнять подгонку
Переходишь на вкладку
Перетаскивайте разделитель, пока не Вы также можете ширину столбца весь диапазон листа,
«Главная» увеличится ровно настолько,Кроме того, нужно сказать, Exit; end; App строк. H1 := RngAutoFit(var aRng : H1 = HRow1 Dim Cell As объединённого диапазона. И For i = Long ‘Исходная высота ширины столбцов: Выравнивание. Ставишь галочку
достигнете нужной ширины изменить их одновременно.А на котором размещен, производим щелчок по насколько нужно, чтобы что автоподбор высоты
:= CreateOleObject(‘Excel.Application’); App.Visible HRow1; for i Variant); var //Cell For i = Excel.Range ‘Отдельная ячейка.
если оказалось, что 2 To MRng.Columns.Count по совокупности всех
Delphi var exRange, Переносить по словам. столбца. Этот метод позволяет. текст. Любым из
кнопке весь текст, находящийся применим в Эксель := True; Book := 2 to — Отдельная ячейка, 2 To MRng.Rows.Count Dim MRng As полученная высота больше W1 = W1 строк объединения. Dim … : Variant; Нажимаешь ОКЧтобы быстро настроить ширину установить единый размер
Наведите курсор на границу трех предыдущих способов,«Формат» во всех её только для тех := App.Workbooks.Open(Od.FileName); //Первый MRng.Rows.Count do H1 MRng — диапазон H1 = H1 Excel.Range ‘Диапазон объединения исходной, тогда на + MRng.Columns(i).ColumnWidth Next H2 As Long begin … exRange.Columns.AutoFit;Т. е. чтобы нижняя столбца по содержимому, всех строк и столбца справа от которые были описаны
. Данный инструмент размещен ячейках, был виден ячеек, у которых лист в рабочей
:= H1 + объединения ячеек. Cell, + MRng.Rows(i).RowHeight Next ячеек. Dim DispAl соответствующую величину увеличиваем i ‘Теперь разъединяем ‘Наименьшая необходимая высота //Подпор ширины столбцов граница ячейки поднималась дважды щелкните разделитель столбцов на листе. заголовка, он примет выше, включаем автоподбор в блоке настроек на листе. в форматировании включен книге. Sh := MRng.Rows[i].RowHeight ; //Ширина MRng : Variant; i ‘Ширина левого As Boolean Dim высоту верхней строки ячейки. MRng.MergeCells = для показа текста по содержимому ячеек. или опускалась в столбцов. В следующем примере вид двойной стрелки. высоты.«Ячейки»Вышеуказанный способ хорош, когда перенос по словам. Book.Worksheets[1]; //Весь используемый левого столбца в DispAl : Boolean; столбца в диапазоне nRow As Long диапазона. False ‘Ширину левого в объединённой ячейке.Fistashka зависимости от кол-ваЧтобы текст переносился внутри мы установим одинаковуюНажмите и, не отпускаяКак видим, после этих. В появившемся списке нужно включить автоподбор Для того чтобы диапазон ячеек на диапазоне объединения. WCol1 nRow, nCol, HRow1, объединения. WCol1 = Dim nCol As- Вновь объединяем столбца делаем равным Dim WCol1 As: Спасибо большое, буду текста чтобы каждый ячейки, на вкладке высоту для каждой левую кнопку мыши, действий автоподбор высоты в группе для одной или включить это свойство листе. Rng := := MRng.Columns[1].ColumnWidth; //Подсчитываем //Высота верхней строки MRng.Columns(1).ColumnWidth ‘Подсчитываем исходную Long Dim HRow1 все нужные ячейки. исходной ширине всего Long ‘Исходная ширина пытаться ))) раз не делатьГлавная строки. переместите курсор, чтобы строки был произведен«Размер ячейки» двух строк, но выделяем на листе Sh.UsedRange; //Если требуется исходную ширину диапазона в диапазоне объединения. ширину диапазона объединения As Long ‘Высота— диапазона объединения. Cell.ColumnWidth левого столбца вВсе хорошо, но это вручную. Внажмите кнопкуВыделите все ячейки на увеличить или уменьшить при сохраняющейся иллюзиивыбираем пункт что делать, если ячейку или диапазон. повысить скорость работы, объединения по совокупности H1, //Исходная высота по совокупности всех верхней строки вКнига MS Excel = W1 ‘Задаём диапазоне объединения. Dim возникает проблема: AutoFit ворде это происходитПеренос текста листе Excel, для ширину столбца. объединения элементов.«Автоподбор высоты строки» подобных элементов много? Кликаем по выделению следует отключить //режим всех его столбцов. по совокупности всех его столбцов. W1 диапазоне объединения. Dim с этим кодом режим переноса текста W1 As Long не работает с автоматически.. этого щелкните поОтпустите левую кнопку мыши.Чтобы вручную не выставлять. Ведь, если действовать правой кнопкой мыши. перерисовки экрана. Но W1 := WCol1; строк объединения. H2, = WCol1 For H1 As Long приложена к сообщению. по словам. Cell.WrapText ‘Исходная ширина по объединенными ячейками, аЗибинЧтобы уменьшить содержимое ячейки
кнопке
Ширина изменится. высоту каждой строки
После этого строки выделенного по тому алгоритму,
В запустившемся контекстном после обработки надо for i := //Наименьшая необходимая высота i = 2
‘Исходная высота поFistashka = True ‘Выполняем совокупности всех столбцов
у меня именно: до текущей ширины
Выбрать всеЕсли вы вдруг увидели, в отдельности, тратя диапазона увеличат свою который был описан списке выбираем позицию не забыть //этот 2 to MRng.Columns.Count для показа текста To MRng.Columns.Count W1
совокупности всех строк: Благодарствую, буду думать
подгон высоты верхней
объединения. Dim i такие.Крем брюллов
столбца, выполните указанные, которая находится на что вместо ожидаемого
на это уйму высоту настолько, насколько в первом варианте,
«Формат ячеек…» режим включить вновь do W1 :=
в объединённой ячейке.
= W1 + объединения. Dim H2 ))
строки. Cell.Rows.AutoFit ‘Выполняем As Long IfMawrat: Выделить ячейку или
ниже действия. пересечении заголовков строк результата, вся ячейка времени, особенно если нужно для того, то на процедуру. — чтобы пользователь W1 + MRng.Columns[i].ColumnWidth WCol1, //Исходная ширина MRng.Columns(i).ColumnWidth Next i As Long ‘НаименьшаяMawrat замер получившейся высоты aRng Is Nothing
: Если ячейки объединены столбец > ПравяВ Excel 2016 для Mac
и столбцов. заполнена знаками решетки таблица большая, лучше чтобы их ячейки придется потратить большоеПроисходит активация окна форматирования. мог работать //с ; //Теперь разъединяем левого столбца в ‘Теперь разъединяем ячейки. необходимая высота для: Сделал перевод для верхней строки. ‘Это
Then Exit Sub
по нескольким строкам,
кнопка мыши > на вкладкеНаведите курсор на нижнюю (;##), это означает, воспользоваться таким удобным показали все свое количество времени. В Переходим во вкладку открытой книгой. //App.ScreenUpdating ячейки. MRng.MergeCells := диапазоне объединения. W1, MRng.MergeCells = False показа текста в Delphi. наименьшая высота, пригодная ‘Подгоняем высоту строк то тогда неизвестно Формат ячеек >Главная границу заголовка любой что ширины недостаточно инструментом Excel, как содержимое. этом случае существует«Выравнивание» := False; //Подгон False; //Ширину левого //Исходная ширина по ‘Ширину левого столбца объединённой ячейке. DimТам в коде для показа текста. для ячеек, которые для каких из Выравнивание > Переноситьнажмите кнопку строки, он примет для отображения содержимого автоподбор. С егоВ то же время, выход.. В блоке настроек высоты строк по столбца делаем равным совокупности всех столбцов делаем равным исходной WCol1 As Long ещё надо подправить H2 = Cell.Rows(1).RowHeight не входят в этих строк следует по словам.Формат вид двойной стрелки. ячейки. Просто увеличьте помощью можно автоматически нужно заметить, чтоВыделяем на панели координат«Отображение» всем ячейкам, включая исходной ширине всего объединения. i : ширине всего диапазона ‘Исходная ширина левого одну строчку. ‘Если исходная высота диапазоны объединённых ячеек. подгонять высоту. ВедьTormozn, выберите пунктНажмите и, не отпуская ширину столбца, чтобы скорректировать размер строчек функция автоподбора не весь диапазон строк,устанавливаем флажок напротив объединённые. RngAutoFit(Rng); //Включаем диапазона объединения. Cell.ColumnWidth Integer; begin //В объединения. Cell.ColumnWidth = столбца в диапазонеЗаменить: диапазона объединения оказалась aRng.Rows.AutoFit ‘Отключаем режим это можно сделать: 1. наводим курсорФормат ячеек левую кнопку мыши, все содержимое полностью любого диапазона по работает для объединенных к которым нужно параметра обновление экрана в := W1; //Задаём VBA это: if W1 ‘Задаём режим объединения. Dim W1If Cell.MergeCells And меньше, чем наименьшая показа предупреждений. Это разными способами, изменяя на верхний левыйи установите флажок переместите курсор, чтобы поместилось. содержимому. Единственная проблема ячеек. Но и подключить указанную функцию.«Переносить по словам» Excel. //App.ScreenUpdating := режим переноса текста aRng is Nothing переноса текста по As Long ‘Исходная (Cell = MRng.Cells(1, ‘пригодная высота, то надо для того, высоту той или квадрат пересечения нумерацийАвтоподбор ширины увеличить или уменьшитьИнструмент может возникнуть, если в этом случае Для этого зажимаем. Чтобы сохранить и True; end;В приложенном по словам. Cell.WrapText then Exit Sub словам. Cell.WrapText = ширина по совокупности 1)) Thenна: увеличиваем высоту верхней чтобы в следующей иной строки, в строй и столбцов. высоту строки.Автоподбор вы работаете с тоже имеется решение левую кнопку мыши применить изменения конфигурации архиве проект Delphi := True; //Выполняем if TVarData(aRng).VDispatch =
True ‘Выполняем подгон всех столбцов объединения.If Cell.MergeCells And строки на соответствующую части ‘программы не пределах объединения. Поэтому (там где маленькийВ Excel для Mac 2011Отпустите левую кнопку мыши.позволяет установить ширину областью листа, в данной проблемы. Выход и проводим курсором настроек, жмем на и книга Excel подгон высоты верхней nil then Exit; высоты верхней строки. Dim i As (Cell.Address = MRng.Cells(1, величину. If H1 появлялось сообщение с метод AutoFit не белый треугольник). Жмем на вкладке Высота всех строк столбца или высоту которой расположены объединенные заключается в применении по соответствующему отрезку кнопку с проектом VBA. строки. Cell.Rows.AutoFit; //Выполняем //Подгоняем высоту строк Cell.Rows.AutoFit ‘Выполняем замер Long If aRng 1).Address) ThenПотому что < H2 Then предупреждением о последствиях выполняет изменений для левую кнопку мышиГлавная изменится и станет строки в соответствии ячейки, но и алгоритма действий, при панели координат.«OK»Fistashka замер получившейся высоты для ячеек, которые получившейся высоты верхней Is Nothing Then в коде Cell.Rows(1).RowHeight = HRow1 объединения. DispAl = объединённых ячеек. (все выделяется).в группе одинаковой. с его содержимым. в этом случае котором реального объединенияЕсли диапазон сильно большой,, которая размещена внизу: Спасибо Вам огромное, верхней строки. //Это не входят в строки. ‘Это наименьшая Exit Sub ‘ПодгоняемIf … (Cell + (H2 - Application.DisplayAlerts Application.DisplayAlerts =Такую задачу можно2. наводим курсорВыравниваниеВы можете выделить всеНаведите курсор на границу тоже можно найти ячейки не происходит, то кликаем левой этого окна. сама бы я наименьшая высота, пригодная диапазоны объединённых ячеек. высота, пригодная для высоту строк для = MRng.Cells(1, 1)) H1) End If False ‘Перебор всех решать по-разному в между номеров любыхнаведите указатель на ячейки на листе столбца справа от выход из сложившейся а только видимое. кнопкой мыши поТеперь на выделенном фрагменте никогда до этого для показа текста. aRng.Rows.AutoFit; //Отключаем режим показа текста. H2 ячеек, которые не … Thenна самом ‘Возвращаем левому столбцу ячеек диапазона. For зависимости от особенностей двух строк и кнопку Excel просто нажав заголовка, он примет ситуации путем выравнивания Поэтому мы сможем первому сектору, потом листа включен перенос не додумалась )) H2 := Cell.Rows[1].RowHeight; показа предупреждений. Это = Cell.Rows(1).RowHeight ‘Если входят в диапазоны деле сравниваются не диапазона его прежнюю nRow = 1 расположения данных на быстро жмем дваПеренос текста комбинацию вид двойной стрелки. содержимого по выделению. применить технологию автоподбора. зажимаем кнопку по словам и Вы меня просто //Если исходная высота надо для того, исходная высота диапазона объединённых ячеек. aRng.Rows.AutoFit ссылки на указанные ширину. Cell.ColumnWidth = To aRng.Rows.Count For листе. Например, можно раза левую кнопку, а затем выберитеCtrl+AПо двойному щелчку левойАвтор: Максим ТютюшевВыделяем те ячейки, которыеShift к нему можно спасли )) диапазона объединения оказалась чтобы в следующей объединения оказалась меньше, ‘Отключаем режим показа объекты, а сравниваются WCol1 ‘Объединяем все nCol = 1 принять такое решение: мыши. командуна клавиатуре. кнопкой мыши ширинаРаботая в Microsoft Excel, нужно объединить. Кликаемна клавиатуре и применять автоподбор высотыКомментарий модератора меньше, чем наименьшая части //программы не чем наименьшая ‘пригодная предупреждений. Это надо значения свойств по нужные ячейки. MRng.MergeCells To aRng.Columns.Count ‘Берём в случае обнаружения3. говорим себе:Сжать текст по размеруУрок подготовлен для Вас столбца автоматически изменится Вы можете свободно по выделению правой выполняем щелчок по строки. Рассмотрим, как
Пожалуйста. //пригодная высота, то появлялось сообщение с высота, то увеличиваем для того, чтобы умолчанию для этих = True End
очередную ячейку. Set объединения ячеек будем
CyberForum.ru
«… где ж
Содержание
- Применение атоподбора
- Способ 1: панель координат
- Способ 2: включение автоподбора для нескольких строк
- Способ 3: кнопка на ленте инструментов
- Способ 4: подбор высоты для объединенных ячеек
- Вопросы и ответы
Каждый пользователь, работающий в Экселе, рано или поздно встречается с ситуацией, когда содержимое ячейки не вмещается в её границы. В таком случае существует несколько выходов из сложившегося положения: сократить размер содержимого; смириться с существующей ситуацией; расширить ширину ячеек; расширить их высоту. Как раз о последнем варианте, а именно об автоподборе высоты строки мы и поговорим дальше.
Применение атоподбора
Автоподбор – это встроенный инструмент Excel, который помогает произвести расширение ячеек по содержимому. Сразу нужно отметить, что несмотря на название эта функция не применяется автоматически. Для того, чтобы расширить конкретный элемент, нужно выделить диапазон и применить к нему указанный инструмент.
Кроме того, нужно сказать, что автоподбор высоты применим в Эксель только для тех ячеек, у которых в форматировании включен перенос по словам. Для того чтобы включить это свойство выделяем на листе ячейку или диапазон. Кликаем по выделению правой кнопкой мыши. В запустившемся контекстном списке выбираем позицию «Формат ячеек…».
Происходит активация окна форматирования. Переходим во вкладку «Выравнивание». В блоке настроек «Отображение» устанавливаем флажок напротив параметра «Переносить по словам». Чтобы сохранить и применить изменения конфигурации настроек, жмем на кнопку «OK», которая размещена внизу этого окна.
Теперь на выделенном фрагменте листа включен перенос по словам и к нему можно применять автоподбор высоты строки. Рассмотрим, как это сделать различными способами на примере версии Excel 2010. Вместе с тем нужно заметить, что полностью аналогичный алгоритм действий можно использовать как для более поздних версий программы, так и для Excel 2007.
Способ 1: панель координат
Первый способ предполагает работу с вертикальной панелью координат, на которой располагаются номера строк таблицы.
- Кликаем по номеру той строки на панели координат, к которой нужно применить автоподбор высоты. После этого действия вся строчка будет выделена.
- Становимся на нижнюю границу строки в секторе панели координат. Курсор должен приобрести вид стрелки направленной в две стороны. Делаем двойной щелчок левой кнопкой мыши.
- После этих действий при неизменном состоянии ширины высота строки автоматически увеличится ровно настолько, насколько нужно, чтобы весь текст, находящийся во всех её ячейках, был виден на листе.
Способ 2: включение автоподбора для нескольких строк
Вышеуказанный способ хорош, когда нужно включить автоподбор для одной или двух строк, но что делать, если подобных элементов много? Ведь, если действовать по тому алгоритму, который был описан в первом варианте, то на процедуру придется потратить большое количество времени. В этом случае существует выход.
- Выделяем на панели координат весь диапазон строк, к которым нужно подключить указанную функцию. Для этого зажимаем левую кнопку мыши и проводим курсором по соответствующему отрезку панели координат.
Если диапазон сильно большой, то кликаем левой кнопкой мыши по первому сектору, потом зажимаем кнопку Shift на клавиатуре и выполняем щелчок по последнему сектору панели координат требуемой области. При этом все её строки будут выделены.
- Устанавливаем курсор на нижнюю границу любого из выделенных секторов на панели координат. При этом курсор должен принять точно такую же форму, как и в прошлый раз. Два раза щелкаем левой кнопкой мыши.
- После выполнения вышеуказанной процедуры все строки выделенного диапазона будут увеличены в высоту на размер хранящихся в их ячейках данных.
Урок: Как выделить ячейки в Excel
Способ 3: кнопка на ленте инструментов
Кроме того, для включения автоподбора по высоте ячейки можно использовать специальный инструмент на ленте.
- Выделяем диапазон на листе, к которому нужно применить автоподбор. Находясь во вкладке «Главная», производим щелчок по кнопке «Формат». Данный инструмент размещен в блоке настроек «Ячейки». В появившемся списке в группе «Размер ячейки» выбираем пункт «Автоподбор высоты строки».
- После этого строки выделенного диапазона увеличат свою высоту настолько, насколько нужно для того, чтобы их ячейки показали все свое содержимое.
Способ 4: подбор высоты для объединенных ячеек
В то же время, нужно заметить, что функция автоподбора не работает для объединенных ячеек. Но и в этом случае тоже имеется решение данной проблемы. Выход заключается в применении алгоритма действий, при котором реального объединения ячейки не происходит, а только видимое. Поэтому мы сможем применить технологию автоподбора.
- Выделяем те ячейки, которые нужно объединить. Кликаем по выделению правой кнопкой мыши. В меню переходим по пункту «Формат ячеек…».
- В открывшемся окне форматирования переходим во вкладку «Выравнивание». В блоке настроек «Выравнивание» в поле параметра «По горизонтали» выбираем значение «По центру выделения». После того, как конфигурирование произведено, жмем на кнопку «OK».
- После этих действий данные расположились по всей зоне выделения, хотя по факту продолжают храниться в крайней левой ячейке, так как объединения элементов, по сути, не произошло. Поэтому, если, например, нужно будет удалить текст, то сделать это можно будет только в крайней левой ячейке. Далее опять выделяем весь диапазон листа, на котором размещен текст. Любым из трех предыдущих способов, которые были описаны выше, включаем автоподбор высоты.
- Как видим, после этих действий автоподбор высоты строки был произведен при сохраняющейся иллюзии объединения элементов.
Чтобы вручную не выставлять высоту каждой строки в отдельности, тратя на это уйму времени, особенно если таблица большая, лучше воспользоваться таким удобным инструментом Excel, как автоподбор. С его помощью можно автоматически скорректировать размер строчек любого диапазона по содержимому. Единственная проблема может возникнуть, если вы работаете с областью листа, в которой расположены объединенные ячейки, но и в этом случае тоже можно найти выход из сложившейся ситуации путем выравнивания содержимого по выделению.
Еще статьи по данной теме:
Помогла ли Вам статья?
Наиболее быстрый способ добиться, чтобы содержимое ячеек отображалось полностью – это использовать механизм автоподбора ширины столбца/ высоты строки по содержимому.
Пусть имеется таблица с ячейками заполненными текстовыми значениями.
Автоподбор ширины столбца
Как видно из рисунка выше, текстовые значения в ячейках
А2
и
А3
отображаются не полностью, т.к. мешает текст в столбце
B
. Нам необходимо, чтобы содержимое всех ячеек в столбце
A
отображалось полностью. Для этого необходимо сделать ширину столбца
A
достаточной для отображения самого длинного текста в столбце. Делается это элементарно: подводим указатель мыши к разделу столбцов
А
и
B
(на сером заголовке столбцов), курсор примет следующий вид:
Делаем двойной клик мышкой и, Voila, ширина столбца стала достаточной для отображения значений во всех ячейках столбца (с учетом скрытых строк).
Если нужно выровнять ширину по содержимому у сразу нескольких столбцов, то делаем следующее:
- выделяем необходимые столбцы (за их серые заголовки);
- подводим курсор к любому разделу выделенных столбцов и дважды кликаем.
Альтернативный вариант:
- Выберите столбец или столбцы, ширину которых нужно изменить;
-
На вкладке
Главная
в группе
Ячейки
выберите команду
Формат
; -
В группе
Размер ячейки
выберите пункт
Автоподбор ширины столбца
.
Автоподбор высоты строки
Если ячейки содержат значения с очень большой длиной строки (например, если длина текстовой строки без переносов сравнима с шириной видимой части листа), то ширина столбца может стать слишком большой, работать с данными будет не удобно. В этом случае нужно выделить ячейки и включить опцию
Переносить по словам
через
Формат ячеек
(или через меню
).
Ширина столбца останется прежней, зато высота строки автоматически увеличится, чтобы полностью отобразить значение ячейки.
Иногда, не смотря на установленную опцию
Переносить по словам
, высоты строки не хватает, чтобы отобразить текстовую строку полностью (это могло произойти, если высота строки была уменьшена вручную). В этом случае нужно поступить также, как мы поступали в случае подбора ширины строки — дважды кликнуть на границе раздела, но теперь не столбцов, а строк:
После этого текстовое значение будет отображено в ячейке полностью:
Реальный пример
Теперь применим рассмотренный метод в реальной ситуации – отредактируем таблицу, созданную путем копирования данных из MS ACCESS. Скопируем через
Буфер обмена
какую-нибудь таблицу из MS ACCESS на лист EXCEL.
Обратите внимание, что у ячеек, в которые мы вставили значения из
Буфера обмена
, включена опция
Переносить по словам,
хотя, по умолчанию, она отключена (EXCEL сам включил ее при вставке). Кроме того, EXCEL не стал изменять ширину столбцов, установленную по умолчанию, а была изменена только высота строк, чтобы полностью отобразить все значения. Такое форматирование таблицы не всегда устраивает пользователя. Используя вставленную таблицу, решим 2 задачи.
Задача1.
Предположим, нам нужно, чтобы все значения отображались в таблице в одну строку.
Для этого:
-
выделите вставленные значения (для этого выделите любую ячейку таблицы и нажмите
CTRL+A
(выделитсятекущая область
), если таблица не содержит пустых строк и столбцов, то будут выделены все вставленные значения);
-
выключите опцию
Переносить по словам
(через меню);
- высота ячеек будет уменьшена так, чтобы отображать только одну строку, как следствие часть значений станет невидна;
-
выделите столбцы
А
,
B
и
С
за серые заголовки; -
подведите указатель мыши к разделу столбцов
А
и
B
(на сером заголовке столбцов) и дважды кликните.
Задача решена: содержимое всех ячеек полностью отображается.
Задача2.
Теперь предположим, что нам нужно, чтобы все столбцы имели определенную, заданную пользователем, ширину, а значения полностью бы отображались в ячейке. При этом высота строки должна быть минимальной.
Для этого:
-
задайте требуемую ширину столбцов
А
,
B
и
С
; -
опцию
Переносить по словам
не выключайте (включите);
-
выделите все строки, содержащие вставленные значения, или все ячейки листа (все ячейки листа можно выделить нажав кнопку
Выделить все
в левом верхнем углу листа или дважды нажав
CTRL
+
A
); - подведите указатель мыши к разделу любых двух заполненных строк (на сером заголовке столбцов) и дважды кликните.
Задача решена: содержимое всех ячеек полностью отображается.
Случай с объединенными ячейками
В случае, если две или несколько ячеек объединены в одну, то рассмотренный подход не сработает. Можно ли осуществить автоподбор высоты строки в случае объединенных ячеек? Об этом читайте в одноименной статье
Автоподбор высоты строки по содержимому при объединении ячеек
.