Sdscompany.ru

Компьютерный журнал
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Delphi excel объединить ячейки

Excel в Delphi. Работа с объектом Range (диапазон)

Сегодняшняя статья блога будет целиком посвящена работе с Excel Range или, говоря другими словами — работе с диапазонами ячеек Excel.

Про работу с этими объектами я уже вкратце говорил, а сегодня хотел бы поделиться с вами более полной информацией. Итак, начнем с самого простого.

План статьи:

1. Что такое Range и как его получить?

Согласно официальному определению Microsoft, Range :

представляет собой ячейки, строки, столбцы, набор ячеек, содержащих один или более смежных блоков ячеек, или 3-D диапазон.

Однако это определение не исключает того, что объектом Range может выступать и одна ячейка (Cell) листа. Таким образом, чтобы получить в свое распоряжение объект Range, можно выполнить следующие операции c объектом Excel в Delphi:

Если Вам неудобно в какой-либо ситуации использовать буквенные обозначение ячеек или Вы привыкли до этого момента иметь дело только с отдельными ячейками (Cells), то объект Range можно получить например вот так:

Какой из способов Вы будете использовать в Delphi — не важно, так как результат будет один и тот же. Получив в свое распоряжение диапазон Вы можете использовать его далее, например, для того, чтобы установить вид его границ.

2. Свойства объекта Excel Range.

Рассмотрим основные свойства объекта Range и их применение работе в Excel в Delphi.

Вначале перечислю свойства, которые будут далее рассмотрены в статье.

Formula

Возвращает или помещает в диапазон формулу.

Value

Возвращает или устанавливает значение для диапазона.Свойство Value замечательно тем, что с помощью него можно записать в ячейки абсолютно любые данные, особо не задумываясь о формате данных. Например, запишем в ячейки диапазона строку, число типа integer и число типа single: чтобы каждый раз не повторяться в листингах и не писать одни и те же элементы по 100 раз, будем считать, что в переменной Sheet уже содержится ссылка на активный лист (ActiveWorkSheet) активной книги (ActiveWorkBook) Excel (MyExcel)

Как видите, обращение к ячейкам было одно и то же и нигде я не приводил данный к какому-то типу — записал в ячейки всё как есть.

Если Вы хотите записать в весь диапазон Range одно и то же значение, то просто выполните:

и получите одну и ту же строку «Hello World!» в десяти ячейках Excel, но такие операции очень редко необходимы при работе с Excel в Delphi. Зато очень часто необходимо воспользоваться другой стороной свойства Value — прочитать большой объем данных из книги Excel за один прием и получить весь массив данных в Delphi. Операция чтения данных из Excel в Delphi более проста, чем Вам может показаться на первый взгляд. Проведем обратную операцию — прочитаем данные из Excel:

Как видите здесь мы за один прием прочитали данные сразу из трех ячеек Excel и отобразили их в сообщении. Этот прием чтения на порядок более скоростной, чем, например чтение содержимого каждой ячейки (Cells) в отдельности.

Ещё одно простенькое свойство объекта Range — возвращает текст из ячейки. Самое главное отличие от свойства Value Text возвращает string только для чтения и использовать это свойство для чтения большого объема данных, как в предыдущем примере — ни в коем случае нельзя, так как переменная Val вернет значение Null.

Column

Возвращает номер первого столбца в первой области, в указанном диапазоне. Свойство только для чтения.

Чтобы продемонстрировать свойство в действии, давайте создадим такие диапазоны как показано на рисунке:

То есть каждый из диапазонов Range будет содержать по две несвязанные друг с другом области (Area). Причем первая область диапазона Range будет начинаться в столбце А, а первая область второго диапазона (Range 2) — в столбце B.

После того, как диапазоны будут созданы — посмотрим, что вернет нам свойство Column для каждого из диапазонов.

Листинг процедуры создания двух несвязных диапазонов Range следующий:

Так, в случае с первым Range Column вернет нам значение 1, а для второго Range — значение 2.

Columns

В отличие от предыдущего свойства, Columns возвращает не простое число, а объект Range, представляющий собой один столбец из всего диапазона.

Посмотрим как, например, используя это свойство можно изменять столбцы во всем диапазоне Range.

Для демонстрации воспользуемся предыдущим примером, изменим только окончание:

В итоге в каждый из столбцов диапазона должна записаться строка с номером этого столбца, результат представлен на рисунке. Как видите, в цикле все столбцы обработались «насквозь», хотя Range не содержал в себе столбец D.

Comment

Возвращает объект Comment для Range. В данном случае Range должен определять одну ячейку.

Для демонстрации свойства не будем заходить в Excel, поработаем с приложением прямо из Delphi. Для этого воспользуемся методом AddComment. То есть сначала запишем комментарий в ячейку, а потом прочитаем его используя свойство Comment:

Address

Возвращает реальный адрес диапазона Range. Например для диапазона ячеек, заданных вот таким образом:

Это свойство удобно использовать, когда Вы оперируете в программе только числовыми значениями (номерами столбцов и строк) и появляется необходимость показать пользователю адреса ячеек из диапазона.

Помимо перечисленных выше свойств к объекту Range применимы все свойства, описанный в статье об изменении внешнего вида ячеек Excel, т.е. borders, color и пр.

3. Методы объекта Excel Range.

Теперь рассмотрим несколько полезных методов, которые могут Вам пригодиться при работе с Excel в Delphi.

CheckSpelling

Проверяет грамматику в выбранном диапазоне и при нахождении ошибок выводит окно для замены. Замечательной особенностью этого метода является то, что окно замены появляется даже при скрытом окне Excel, то есть, когда свойство Visible у объекта Excel равно false.

Вызывается метод без каких-либо дополнительных параметров:

PrintPreview

Выводит на экран окно предварительного просмотра перед печатью выбранного диапазона ячеек. Также как и предыдущий метод PrintPreview не имеет дополнительных параметров. Однако при попытке вызвать метод при скрытом окне Excel в лучшем случае возникнет исключительная ситуация, в худшем — зависание Вашего приложения. Так что перед вызовом:

не забывайте включить свойство Visible у Excel:

AutoFill

Автоматическое заполнение диапазона ячеек на основе данных из другого диапазона.

Рассмотрим применение метода на примере.

В результате лист Excel примет следующий вид:

Как видите все столбцы второго диапазона Range заполнились значениями из диапазоны Source.

При использовании этого метода следует иметь в виду, что диапазон-источник (в нашем случае — это source) по одному из измерений должен совпадать с источником назначения. В приведенном примере совпадает размерность по строкам (в обоих диапазонах их шесть). Если размерности диапазонов не совпадают, то возникает исключительная ситуация.

При использовании метода мы использовали одну из констант в параметре TypexlFillDefault = 0. Используя её мы скопировали данные один-к-одному. Дополнительно Вы можете использовать следующие константы при автозаполнении:

AutoFit

Изменяет ширину или высоту ячеек диапазона для наилучшего представления данных.

Приведет и изменению ширины столбца А таким образом, чтобы число было полностью видно на листе.

Методы очистки данных диапазона Range

Есть несколько различных методов очистки содержимого диапазона Range при работе с Excel в Delphi.

1. Clear

Читать еще:  Текст песни ближе excel

Удаляет все данные из диапазона.

2. ClearComments

Удаляет все комментарии в диапазоне Range.

3. ClearContents

Удаляет все формулы из диапазона Range

4. ClearFormats

Очищает форматы в диапазоне Range

5. ClearNotes

Очищает все заметки в диапазоне Range

Методы работы с буфером обмена Excel

1. Copy

Копирует содержимое диапазона Range в буфер обмена или в другой диапазон.

Попробуем реализовать работу метода следующим образом: заполним столбец А некоторыми значениями, а затем скопируем его сначала в буфер, а потом в столбец Е:

А для того, чтобы вставить данные из буфера обмена существует ещё один метод

2. PasteSpecial

При определении параметра Paste следует использовать следующие константы:

При использовании параметра Operation следует использовать следующие константы:

Теперь рассмотрим применение метода на примере. В качестве исходных данных возьмем данные из предыдущего примера, но для вставки используем метод PasteSpecial:

После выполнения этой операции все данные вставятся в диапазон Range2, т.к. диапазон до вставки был пуст, то данные скопировались один-к-одному.

3. Cut

Вырезает данные и при необходимости вставляет их в новый диапазон. Метод работает аналогично методу Copy, но с последующим удалением данных из источника.

Merge

Объединение ячеек диапазона.

Для новичков, только начинающих постигать азы работы с excel в Delphi этот метод в какой-то момент становится камнем преткновения :). Дело в том, что очень часто возникает необходимость объединить часть ячеек листа для записи в объединенную область большого количества данных или длинной строки. В Excel есть такой метод Union, который и отвечает за объединение — им-то и пробуют пользоваться многие. А метод Union при вызове из Delphi применительно к диапазону Range вызывает исключительную ситуацию. Про Merge люди либо не знают, либо забывают. А использовать его достаточно просто:

Как работать с объединенными ячейками Excel

Как объединить ячейки в Excel

Сначала расскажем что такое объединенные ячейки в Excel и как их сделать. Тут нет ничего сложно, достаточно выделить две или более ячеек и выбрать команду на ленте Главная -> Выравнивание -> Объединить и поместить в центре.

Важно отметить, что Excel при объединении ячеек, которые содержат значения, оставит значение только той ячейки, которая находится в верхнем левом углу выбранного диапазона. Остальные же значения будут удалены. Однако, с помощью нашей надстройки, данное недоразумение можно избежать с помощью специальной команды.

Вы можете объединять ячейки как по горизонтали, так и по вертикали. Также можно объединить области, содержащие боле одной строки и столбца.

Способы объединения ячеек

Если внимательней посмотреть на команду объединения ячеек, то можно увидеть выпадающее меню, которое в свою очередь содержит следующие дополнительные действия:

  • Объединить по строкам — позволяет выбрать диапазон ячеек, который содержит несколько строк. В этом случае Excel будет создавать объединенные ячейки по одной на каждой строке
  • Объединить ячейки — объединяет выделенные ячейки в одну, но при этом не выравнивает текст в ячейке.
  • Отменить объединение ячеек — позволяет разбить объединенную ячейку на несколько.

Какие проблемы возникают при использовании объединенных ячеек

Как уже говорили, пользоваться объединенными ячейками стоит аккуратно, так как они ограничивают функционал Excel и могут в дальнейшем принести неприятности. Если все-таки решили пользоваться объединенными ячейками, всегда помните о следующих моментах:

  • Если диапазон содержит объединенные ячейки, то пользоваться сортировкой и фильтрацией в этом диапазоне будет невозможно.
  • Также невозможно будет преобразовать такой диапазон в таблицу (форматировать как таблицу).
  • Также можно забыть об автоматическом выравнивании ширины или высоты ячейки. Например если имеется объединенная ячейка A1:B1, то выравнять ширину столбца A уже не получится.
  • Если Вы пользуетесь горячими клавишами для навигации, например переходите в начало и конец таблицы путем сочетания клавиш Ctrl + стрелка вверх и вниз, то переход не удастся, и курсор будет «упираться» в объединенные ячейки.
  • Если вы выделяете столбцы (или строки) с помощью горячих клавиш Ctrl (Shift) +Пробел, то при наличии объединенных ячеек, вы не сможете выделить 1 столбец (или строку).

Как найти все объединенные ячейки и разъединить их

Чтобы разъединить все ячейки и удалить объединенные, достаточно выполнить следующие действия:

  1. Выделить все ячейки на листе. Это можно сделать путем нажатия сочетания клавиш Ctrl + A или кликнуть на черный треугольник между заголовками строк и столбцов на листе.
  2. Нажать на команду Главная ->Выравнивание ->Объединить и поместить в центре если она выделена. Если же она не выделена, значит выбранный лист не содержит объединенных ячеек.

Если же необходимо найти все объединенные ячейки в книге, то это можно сделать через панель поиска. Для этого выполните следующие шаги:

  1. Откройте окно Найти и заменить. Сделать это можно сочетанием клавиш Ctrl + F.
  2. Поле Найти оставьте пустым и нажмите на кнопку Параметры.
  3. Должна отобразиться кнопка Формат. Нажмите левой кнопкой мыши по ней.
  4. В диалоговом окне Найти формат на вкладке Выравнивание выберите опцию Объединение ячеек. Далее нажмите Ok.
  5. В диалоговом окне Найти и заменить нажмите Найти далее или Найти все в зависимости от вашей дальнейшей задачи.

Альтернативы использования объединенных ячеек

Как правило объединенные ячейки применяют для целей выравнивания текста. Однако мало кто знает, что текст можно выровнять и без объединения ячеек и потери функционала. Для этого можно использовать обычное форматирование ячеек:

  1. Выделите диапазон ячеек, который хотите отцентрировать. При этом сам текст должен содержаться в левой верхней ячейке.
  2. Выберите команду формат ячеек или нажмите сочетание клавиш Ctrl + 1.
  3. В диалоговом окне Формат ячеек перейдите на вкладку Выравнивание.
  4. В выпадающем списке выравнивания по горизонтали выберите значение по центру выделения и нажмите OK.

Еще один способ избежать объединения ячеек — это использовать надписи. В них также можно вставлять текст и выбирать направление текста по вертикали. Способ конечно также накладывает много ограничений, но в каких-то случаях имеет место быть.

Все способы можно скачать нажав кнопку вначале статьи.

ASD-SOFT

Программирование. Теория и практика.

Обмен данными с MS Excel в Delphi при помощи OLE.

Обмен данными с MS Excel в Delphi при помощи OLE.

Здравствуйте уважаемые коллеги!

Все мы рано или поздно сталкиваемся с задачами обмена данных с приложениями пакета MS Office. Одно из них — это MS Excel. И именно о взаимодействии с данным продуктом MS Office пойдет речь в данной статье.

Один из способов взаимодействия Delphi c MS Excel — это подключиться к нему как к OLE объекту.

Итак.
Прежде всего для работы с MS Excel и OLE добавим в секцию Uses модули ComObj и ActiveX.

И первое что нам нужно проверить, а установлен ли MS Excel на компьютере пользователя в принципе.
Для этого воспользуемся функцией CLSIDFromProgID, которая ищет в реестре CLSID для переданного ProgID:
Справка из MSDN: Метод CLSIDFromProgID
Параметры:
pszProgID: POleStr — Строка с именем объекта
clsid: TCLSID — Указатель на структуру TGUID в которую передается найденный объект;
Возвращает:
HRESULT — Результат, который может принимать значения:
S_OK — объект найден;
CO_E_CLASSSTRING — Зарегистрированный CLSID для ProgID является недействительным;
REGDB_E_WRITEREGDB — Ошибка записи CLSID в реестр.
Из перечисленных результатов нам нужен S_OK.
Напишем функию для определения наличия Excel у пользователя:

Читать еще:  Не получается объединить ячейки в excel

Если Excel установлен, тогда выполним подключение к нему. Сделать это можно двумя способами: GetActiveOleObject — Получить ссылку на уже запущенный экземпляр Excel или CreateOleObject — Создать новый экземпляр Excel.
Если у нас стоит задача получать данные из запущенного Excel, тогда мы должны использовать только первый вариант, в остальных случаях пробуем подключиться и если не получается, то создаем.
Напишем 2 функции, для подключения XlsConnect и запуска нового XlsStart:
Добавим переменную FXlsApp с типом Variant, которая будет содержать в себе ссылку на объект Excel.

Теперь можно добавить кнопку, на клик которой подключимся к MS Excel используя написанные функции:

По умолчанию окно Excel запускается в фоновом режиме. Строка FXlsApp.Visible := True; делает фоновое окно Excel видимым.

Окно Excel запускается пустое и в него нужно добавить рабочую книгу. Делается это при помощи метода WorkBooks.Add, который добавляет новую книгу или открывает ранее сохраненную, если указать путь к файлу.
Добавим процедуру, которая будет это делать:

Книга добавлена, теперь попробуем записать что-нибудь в неё.

Где Row — индекс строки, и Col — индекс столбца, которые начинаются с единицы.

Где Range — массив ячеек, а А1 — привычные для Excel координаты ячейки.
В качестве координат может быть указан диапазон. Например, код

заполнит цифрой 5 все ячейки с А3 по А10, а код

выделит тот же диапазон светло-зеленым цветом.
В обратную сторону, то есть для получения данных из Excel, работает так же. Строка

Выведет сообщение с содержимым ячейки с координатами: Строка=5, Столбец=1.

После того, как мы произвели необходимые нам манипуляции с Excel, мы можем сохранить полученную книгу в файл следующей командой:

Где ActiveWorkbook — текущая книга.
И закрыть приложение Excel командой:

Как понимаете этим возможности управления Excel из Delphi не ограничиваются. И есть один достаточной простой способ узнать, как выполнить необходимо действие с Excel из Delphi.
Называется оно — Макросы.

Представим, что нам необходимо выполнить объединение нескольких ячеек в одну и мы не знаем как это сделать. Но хотим узнать. Для этого выполняем следующие шаги:
1. Запускаем Excel и создаем пустую книгу.
2. Запускаем команду «Записать макрос», по умолчанию название макроса будет «Макрос1». (В разных версиях Excel данная команда находится в разных пунктах меню).
3. Выделяем некоторый диапазон ячеек и нажимаем кнопку «Объединить и поместить в центре».
4. Останавливаем запись макроса.
5. Вызываем список макросов и выбираем там свой записанный макрос.
6. Нажимаем кнопку «Изменить»
Запускается редактор Microsoft Visual Basic for Application в котором видим код проделанных действий:

Давайте разберем по подробнее, что же такого он нам тут написал:
With Selection — Для выделенного диапазона ячеек настраиваем свойства:
HorizontalAlignment = xlCenter — Горизонтальная ориентация = по центру.
VerticalAlignment = xlBottom — Вертикальная ориентация — по нижнему краю.
WrapText = False — Перенос текста по словам — выключен.
Orientation = 0 — Ориентация 0 градусов.
AddIndent = False — Использование автоматического отступа вкл/выкл.
IndentLevel = 0 — Уровень отступа в 0.
ShrinkToFit = False — Сжимать текст по размерам столбца вкл/выкл.
ReadingOrder = xlContext — Порядок чтения по контексту.
MergeCells = False — Объединенные ячейки вкл/выкл
End With — Конец секции работы с выделенным диапазоном.
Selection.Merge — Объединить выделенный диапазон.

Теперь попробуем объединить ячейки из Delphi:

Выделяем нужный нам диапазон.

Объединяем ячейки задав свойство. Или при помощи метода:

Таким способом можно получать код практически для любых необходимых манипуляций.
А если какое-то свойство или метод вызывает вопросы, то можно воспользоваться справкой на MSDN.

Обратите внимание на особенность работы с массивами в VBA. Индексы в массивах в Delphi оборачиваются в квадратные скобки, в то время как в VBA они будут в круглых. И код в Delphi

в VBA будет выглядеть как

Ниже приведу небольшой FAQ по вопросу взаимодействия с Excel из Delphi

Как определить значения констант в Excel для использования в Delphi?

В редакторе VBA ставим точку остановки напротив интересующей константы. Нажимаем выполнить и когда выполнение остановиться, наводим на интересующую константу:

Как отключить выводы сообщений в Excel?

Как получить список книг из Excel?

Как отключить отображение сетки?

Как вывести текущий лист на предпросмотр печати?

Как выделить жирным часть текста в ячейки?

Как выполнить автоподбор высоты строки для склеенной ячейки?

Как получить используемый диапазон ячеек?

Как получить букву столбца по индексу?

Delphi — компонент для вывода отчетов в Excel

A7rexcel это компонент формирования отчетов в Excel для Delphi 7Delphi XE2 (Embarcadero RAD Studio XE2). Компонент полностью бесплатен и свободен для использования где угодно и как угодно, единственная просьба — ссылка на этот сайт при упоминании этого компонента на просторах интернета.

Зачастую отчетные системы предназначены для выдачи результата сразу на печать с предпросмотром, и возможность сохранения в Excel это лишь опция, иногда работающая так, что сохраненный файл выходит не очень похожим на оригинал, и представляет собой нагромождение объединенных ячеек, а иногда еще и с неправильным форматом данных. Для того чтобы избежать этих неприятностей, можно использовать отчетную систему, которая будет выводить информацию напрямую в Excel.

A7rexcel позволяет выводить информацию в Excel используя в качестве шаблона xls-файл, благодаря чему становится просто настроить внешний вид получаемого документа, ориентацию листа, поля, нумерацию, и все остальное что можно настраивать в экселевском документе.

Предлагаемый компонент настолько прост, что в его внутренностях сможет разобраться даже начинающий программист, если потребуется расширение функционала. Так же он прекрасно подходит для тех, кто просто хочет разобраться как работать из Delphi-приложения с Microsoft Excel.

Исходные коды компонента на hithub — github.com/a7in/a7rexcel

Скачать компонент и демо-проект — a7rexcel.zip

Пример простейшего отчета:

Компонент работает со всеми версиями офиса — 2003,2007,2010,2013.

10 комментариев: Delphi — компонент для вывода отчетов в Excel

Большое вам спасибо! Отличный компонент!

Отличный компонент. Просто супер. Только не сделан SetValue с сохранением форматирования в шаблоне. Потратил день на изучение вопроса, но все же сделал. Теперь, например, можно сделать ячейку вида «_#day#_»_#month#_#year#_г и после моей функции сделает так: «_11_»_08_2017_г. Конечно цифры будут подчеркнуты. Цвет, жирность, размер отдельных символов также сохраняется. Если надо, могу скинуть, также реализовал изменение окошка прогресса с полоской Gauge, только оно зависит от числа repeat-строк, которые нужно передать из программы (главная таблица отчета), Header и Footer не учитывал, главное же основная таблица у меня в отчете, там много строк обычно, их счетчик и отображается в прогрессе.

Вот полностью доделал и протестировал функцию вставки текста без потери форматирования символов в шаблоне. Пользуйтесь на здоровье.
//Edited by cyrax1000, 2017-08-11

Огромное персональное спасибо за такую инициативу! Я тоже протестирую и добавлю чтобы все пользовались

Как объединить ячейки в Excel

Объединение ячеек – известная команда в Excel. Однако на выполнение этой операции часто уходит много времени. В данной статье рассмотрим, что подразумевают под объединением ячеек, и как быстро выполнить эту операцию. Выбрав оптимальный варианты, вы сэкономите много времени.

Читать еще:  Как сравнить две колонки в excel

Формат ячеек

Команда Excel Правая кнопка мыши → Формат ячеек → Выравнивание → Отображение → объединение ячеек удаляет границы между ячейками в выделенном диапазоне. В результате получается одна большая ячейка. На картинке показано объединение ячеек одной строки и трех столбцов.

Таким же способом можно объединить любой прямоугольной диапазон. После объединения ячеек содержимое часто центрируют. На ленте во вкладке Главная даже есть специальная команда Объединить и поместить в центре.

Начинающие пользователи Excel часто применяют эту команду для размещения названия таблицы по центру.

Выглядит красиво, но крайне непрактично. Если выделить столбец комбинацией клавиш Ctrl + пробел, то диапазон расширится на все столбцы, которые захватывает объединенная ячейка. Возникнут и другие проблемы: при копировании, не работает в таблице Excel, нельзя автоматически подогнать ширину столбца и др. В общем, объединение ячеек сулит много неудобств в дальнейшей работе. Поэтому в большинстве случаев объединение ячеек лучше не применять.

Как найти объединенные ячейки в Excel

Бывает, что в файле уже есть объединенные ячейки и они мешают нормальной работе. Например, в отчете из 1С или при работе с чужим файлом Excel. Тогда их нужно как-то быстро найти и отменить объединение. Как это быстро сделать? Выполните следующие шаги.

  1. Вызовите команду поиска Главная (вкладка) → Редактирование (группа) → Найти и выделить → Найти. Или нажмите комбинацию горячих клавиш Ctrl + F.
  2. Убедитесь, что в поле Найти пусто.
  3. Нажмите кнопку Параметры.
  4. Перейдите в Формат, в окне формата выберите вкладку Выравнивание и поставьте флажок объединение ячеек.
  5. ОК.
  6. В окне Найти и заменить нажмите Найти все.
  7. Появятся адреса всех объединенных ячеек. Их можно выбрать по отдельности, или все сразу нажав Ctrl + A.

Как убрать объединение ячеек в Excel

Для отмены объединения сразу на всем листе Excel выполните следующие действия.

  1. Выделите все ячейки на листе. Можно щелкнуть на треугольнике, расположенном на пересечении заголовков строк и столбцов, либо горячей комбинацией Ctrl + A (один или два раза).
  2. Повторно примените команду Главная (вкладка) → Выравнивание (группа) → Объединить и поместить в центре.

Все объединенные ячейки снова станут нормальными. Если что-то пойдет не так, отмените последнее действие.

Горячие клавиши объединения ячеек в Excel

К сожалению, в Excel нет стандартных горячих клавиш для объединения ячеек. Тем не менее, у каждой команды есть свой клавиатурный эквивалент и его можно узнать. Для этого следует нажать клавишу Alt, на ленте под каждой вкладкой появится буква, нажав на которую, вы переходите внутрь этой вкладки.

Затем буквы появятся под каждой командой или выпадающим списком команд. Таким образом можно определить последовательность клавиш вызова нужной команды. Для объединения и центрирования ячеек в моей версии Excel необходимо последовательно нажать Alt – Я – Щ – Б. Это был первый способ.

Второй способ. Любым способом объединить ячейки и повторно вызвать команду клавишей F4 (повтор последнего действия).

Третий способ. Вначале поместите кнопку объединения ячеек на панель быстрого доступа. Для этого нажмите на треугольник справа от всех команд и там выберите Другие команды.

Вы попадаете в настройки панели быстрого доступа. Найдите команду Объединить и поместить в центре и добавьте ее в правое окно.

Кнопка появится на панели быстрого доступа.

После нажатия Alt под этой кнопкой появится цифра, зависящая от порядкового номера в ряду.

Теперь есть еще одна горячая клавиша объединить ячейки в Excel – Alt + 5.

Выравнивание по центру (без объединения ячеек)

Для расположения надписи в середине строки воспользуйтесь командой выравнивание по центру.

  1. Поместите надпись в левую ячейку строки, где должно произойти выравнивание.
  2. Выделите вправо нужное количество ячеек.
  3. Вызываете команду Правая кнопка мыши → Формат ячеек → Выравнивание → по горизонтали → по центру выделения.

Внешне результат такой же, как при объединении, только все ячейки останутся на своем месте. Есть пару нюансов.

  1. Не всегда понятно, в какой ячейке находится запись.
  2. Выравнивать по центру можно только по горизонтали, по вертикали нельзя.

В большинстве случаев вместо объединения ячеек лучше применять выравнивание по центру.

Формат ячеек влияет только на отображение данных. На деле часто приходится соединять содержимое из разных ячеек. Далее рассмотрим, как в Excel объединить данные из нескольких ячеек в одну.

Объединение ячеек с помощью & (амперсанд) и функции Excel СЦЕПИТЬ (CONCATENATE)

Объединение содержимого ячеек – очень распространенная задача. Выбор решения зависит от типа данных и их количества.
Если нужно сцепить несколько ячеек, то подойдет оператор & (амперсанд).

Обратите внимание, между ячейками добавлен разделитель в виде запятой с пробелом, то есть к объединению ячеек можно добавить произвольный текст. Полной аналогией & является применение функции СЦЕПИТЬ.

В рассмотренных примерах были только ячейки с текстом. Может потребоваться соединять числа, даты или результаты расчетов. Если ничего специально не делать, то результат может отличаться от ожидания. Например, требуется объединить текст и число, округленное до 1 знака после запятой. Используем пока функцию СЦЕПИТЬ.

Число присоединилось полностью, как хранится в памяти программы. Чтобы задать нужный формат числу или дате после объединения, необходимо добавить функцию ТЕКСТ.

Правильное соединение текста и числа.

Соединение текста и даты.

В общем, если вы искали, как объединить столбцы в Excel, то эти приемы работают отлично. Однако у & и функции СЦЕПИТЬ есть существенный недостаток. Все части текста нужно указывать отдельным аргументом. Поэтому соединение большого числа ячеек становится проблемой.

Функция Excel СЦЕП (CONCAT)

В Excel 2016 на смену функции СЦЕПИТЬ пришла функция СЦЕП. Она работает так же, только в качестве аргумента можно задать целый диапазон.

Все хорошо, но без пробелов. Если требуется соединить с разделителем, СЦЕП не сильно поможет. Поможет другая новая функция для объединения ячеек.

Функция Excel ОБЪЕДИНИТЬ (TEXTJOIN)

Функция ОБЪЕДИНИТЬ также появилась в Excel 2016 и решила сразу все проблемы склеивания ячеек: указание целого диапазона, вставка разделителя и даже пропуск пустых ячеек в диапазоне, чтобы не дублировать разделитель.

разделитель – разделитель, который вставляется между ячейками

пропускать_пустые – если 0, то пустые ячейки включаются, если 1 – игнорируются. Обычно задают 1, чтобы не дублировать разделитель.

текст1;… – ссылка на диапазон или отдельные ячейки для сцепления.

Функция Excel ОБЪЕДИНИТЬ – лучшее решение для склеивания ячеек.

Заполнить – Выровнять

И еще один трюк. Объединить ячейки можно без формул. Исходные ячейки должны быть в одном столбце.

Выполните следующие действия.

  1. Выделите столбец с данными.
  2. Расширьте выделение вправо настолько, сколько предположительно должен занять объединенный текст или больше.
  3. Вызовите команду Главная (вкладка) -> Редактирование (группа) -> Заполнить -> Выровнять.

Текст будет помещен в одну ячейку через пробел.

  • Если в ячейках есть числа, даты или формулы, фокус не получится. Работает только с текстом.
  • Общая длина текста не должна превышать 255 символов. Лишнее будет перенесено на вторую строку автоматически (см. ролик ниже).

Подведем итоги, как объединить ячейки, строки и столбцы в таблице Эксель. С помощью форматирования можно просто удалить границы между ячейками. Это плохое решение. Лучше воспользоваться выравниванием по центру. Объединение ячеек в Excel без потери данных производится специальными функциями.

Ссылка на основную публикацию
Adblock
detector