Отменить объединение столбцов в excel

Отдельной ячейки нельзя разделить, но можно сделать так, чтобы она была разделена путем объединения ячеек над ней.

Браузер не поддерживает видео.

Объединение ячеек

  1. Выделите ячейки для объединения.

  2. Выберите объединить & центре.

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

Отмена объединения ячеек

  1. Нажмите стрелку вниз рядом с кнопкой Объединить и поместить в центре.

  2. Выберите отобрять ячейки.

Важно: 

  • Ячейку, которая не была создана путем объединения, невозможно разделить. Если вы ищете сведения о том, как распределить данные из ячейки по нескольким ячейкам, см. статью Распределение содержимого ячейки на соседние столбцы.

  • Ячейку, полученную путем объединения, можно снова разделить на отдельные ячейки. Если вы не помните, где находятся объединенные ячейки, используйте команду Найти для их поиска.

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

В приведенном ниже примере ячейки A1, B1 и C1 объединены для создания подписи «Продажи за месяц», чтобы описать информацию, указанную в строках 2–7.

Объединение ячеек над другими ячейками

Объединение ячеек

Объедините две или более ячеек, выполнив указанные ниже действия.

  1. Выделите несколько смежных ячеек, которые вы хотите объединить.

    Важно: Помните, что сохраняются данные только из ячейки в верхнем левом углу, данные из остальных ячеек удаляются. Чтобы сохранить данные из остальных ячеек, скопируйте их в другое место на листе перед объединением.

  2. На вкладке Главная нажмите кнопку Объединить и выровнять по центру.
    На вкладке "Главная" нажмите кнопку "Объединить и выровнять по центру".

Советы: 

  • Учтите, что кнопка Объединить и выровнять по центру недоступна при редактировании ячейки или если ячейки, которые вы хотите объединить, находятся в таблице. Ячейки, отформатированные как таблица, обычно имеют чередующийся цвет заливки строк и иногда стрелки фильтры в заголовках столбцов.

  • Чтобы объединить ячейки без центрирования, щелкните стрелку рядом с кнопкой Объединить и выровнять по центру и выберите команду Объединить по строкам или Объединить ячейки.

Отмена объединения ячеек

Если необходимо отменить объединение ячеек, щелкните объединенную ячейку и выберите пункт Отменить объединение ячеек в меню Объединить и выровнять по центру (см. рисунок выше).

Разделение текста по нескольким ячейкам

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

Например, столбец, содержащий полные имена, можно разделить на отдельный столбец с именами и отдельный столбец с фамилиями следующим образом.

До и после разделения текста по различным столбцам

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

  1. Выделите ячейку или столбец с текстом, который вы хотите разделить.

  2. Примечание: выделите любое количество строк, но не более одного столбца. Кроме того, убедитесь, что справа имеется достаточное количество пустых столбцов и никакие данные не будут удалены. При необходимости добавьте пустые столбцы.

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

  4. Выберите параметр С разделителями и нажмите кнопку Далее.

  5. Установите флажок Пробел и снимите остальные флажки. Или установите другие флажки, если текст разделен иным образом (например Запятая и Пробел для текста в формате «Игнатьев, Виктор»). В нижней части всплывающего окна представлена область предварительного просмотра данных.

    Шаг 2 в мастере: в разделе "Разделители" выберите способ разделения данных; в области предварительного просмотра отображается образец данных

  6. Нажмите кнопку Далее и выберите формат новых столбцов. При необходимости выберите формат, отличный от формата по умолчанию, например Текстовый, затем щелкните второй столбец данных в области предварительного просмотра и выберите такой же формат. Повторите это действие для всех столбцов в области предварительного просмотра.
    Шаг 3 в мастере; выбран параметр "Текстовый"

  7. Нажмите кнопку Изображение кнопки "Свернуть диалоговое окно" справа от окна Назначение, чтобы свернуть всплывающее окно.

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

    Выберите ячейки, в которые нужно вставить свои разделенные ячейки.

  9. Нажмите кнопку Кнопка "Развернуть" , чтобы снова развернуть всплывающее окно, а затем нажмите кнопку Готово.

    Нажмите кнопку "Развернуть"

Объединив несколько ячеек, можно создать одну новую, более крупную ячейку. Это отличный способ создания подписи, которая охватывает несколько столбцов. В данном примере ячейки A1, B1 и C1 объединены для создания подписи «Продажи за месяц», чтобы описать данные во 2–7 строках.

Объединение ячеек над другими ячейками

Объединение ячеек

  1. Щелкните первую ячейку и нажмите shift, щелкнув последнюю ячейку в диапазоне, который нужно объединить.

    Важно: Убедитесь, что данные есть только в одной из ячеек в диапазоне.

  2. Выберите Главная > Объединить и поместить в центре.

    Кнопка "Объединить и поместить в центре" на ленте

    Если элемент Объединить & в центре замечен, убедитесь, что ячейка не редактируется или ячейки, которые вы хотите объединить, не в таблице.

    Совет: Чтобы объединить ячейки без выравнивания по центру, щелкните объединенную ячейку, а затем щелкните параметры выравнивания слева, по центру или справа рядом с кнопкой Объединить & Центре.

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

Отмена объединения ячеек

Чтобы отокрутить объединение ячеек сразу после их объединения, нажмите CTRL+Z. В противном случае сделайте вот что:

  • Щелкните объединенную ячейку и выберите главная > объединить & Центре.

    Кнопка "Объединить и поместить в центре" на ленте

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

    До и после разъединения ячеек

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Полные сведения о формулах в Excel

Рекомендации, позволяющие избежать появления неработающих формул

Поиск ошибок в формулах

Сочетания клавиш и горячие клавиши в Excel

Функции Excel (по алфавиту)

Функции Excel (по категориям)

Нужна дополнительная помощь?

Объединение и отмена объединения ячеек

Проверьте, как это работает!

​Смотрите также​ ячейку (соблюдено обязательное​ оглавление слышали?​

Объединение ячеек

  1. ​ .. Копия колонтитулов​

  2. ​: Так же кнопка​​End Sub​​​ дальше.​

Отмена объединения ячеек

  1. ​ ячейка.​ ниже на рисунке:​​ столбец, содержащий ячейку​ в положение «Добавить​​ следует объединить, кликаем​

  2. ​Для того, чтобы объединить​​Объединяет ячейки по​​ листе, при этом​

Хотите узнать больше?

​ или объединить несколько​Несколько ячеек можно объединить​

support.office.com

Перенос текста и объединение ячеек в Excel

​ условие — количество​Это если не​ (надстройка писал Прайст)​ что и для​Цикл, который перемещается по​Если мы хотим, чтобы​С помощью метода объекта​adres = ActiveCell.MergeArea.Address​Но нам необходимо преобразовать​ с первичными данными,​ столбец». Делаем это,​ по ним правой​ несколько ячеек, из​ строкам, т.е. в​ информация во всех​ ячеек в одну,​ в одну более​

​ цифр разделенных Enter​ слышали:​ , Отправка листа​ одного листа, только​ каждой объединенной ячейке​ данный макрос можно​ ActiveCell.UnMerge выполняется разъединение​Адрес активной ячейки отображается​ данную таблицу в​ и столбец, содержащий​ и кликаем по​ кнопкой мыши, и​ которых только одна​ каждой строке выделенного​

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

Перенос текста в Excel

​ объединенной активной ячейки.​ в поле «Имя»​ стандартный формат, например,​ ячейку с формулой​

  1. ​ кнопке «OK».​ в появившемся контекстном​ заполнена данными, или​ диапазона образуется отдельная​ левой, будет удалена.​ ширину столбцов Вам​Перенос текста в Excel
  2. ​Выделите ячейки для объединения.​​ равно количеству объединенных​​: …Отправка листа по​​ обратным адресом (тоже​​ необходимые листы кликая​Перенос текста в Excel
  3. ​ раз вызывает VBA​ для нескольких объединенных​Перенос текста в Excel

​ Далее копируется ее​​ (напротив строки формул​​ для создания отчета​ сцепления.​

Объединение ячеек в Excel

​В ячейке, образовавшейся между​ меню выбираем пункт​ вообще абсолютно пустых,​ ячейка.​В примере ниже мы​ не потребуется.​Нажмите кнопку​ ячеек).​ мэйлу с обратным​ он) , и​ ЛКП удерживая Ctrl.​ код макроса для​ ячеек в выделенном​

​ содержимое и заполняется​ Excel). Но там​ на основе сводной​Таким образом, мы получаем​

  1. ​ теми ячейками, которые​ «Формат ячеек».​Объединение ячеек в Excel
  2. ​ выделяем курсором нужные​​Объединить ячейки:​ объединим диапазон A1:E1,​​При переносе текста высота​​Объединить и поместить в​​Пример:​Объединение ячеек в Excel
  3. ​ адресом…{/post}{/quote}​ самое мое любимое…​Но что делать​ разъединения их диапазона​Объединение ячеек в Excel

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

Дополнительные параметры объединения ячеек в Excel

​ чтобы создать заголовок​ строки будет автоматически​ центре​А1-А6:​​Это он?​ это ведение базы​​ если таких листов​ объединения с учетом​

  • ​ еще одну переменную,​ адрес которого получен​​ адрес объединенной ячейки.​ откроем редактор Visual​ данные, которые следовало​ ставим значение без​
  • ​ ячеек, переходим во​​ вкладке Excel «Главная»,​ одну, не помещая​ для нашего листа.​ изменяться, что позволит​.​
  • ​9​​Sub SendSheet()​ отгрузок с отдельными​ под пару сотен?​
  • ​ всех выше описанных​​ которая дополнит код​Объединение ячеек в Excel

​ из переменной, его​Для пользователя в поле​
​ Basic (ALT+F11):​
​ объединить, а все​

​ кавычек «=СЦЕПИТЬ(X;Y)», где​

office-guru.ru

Объединение ячеек в программе Excel

​ вкладку «Выравнивание». Отмечаем​ кликаем по значку​ содержимое в центре.​Выделите ячейки, которые требуется​ содержимому отображаться на​Нажмите стрелку вниз рядом​45​ThisWorkbook.Sheets(«Выборка»).Copy​ листами оплат справочниками​Тут наверняка макрос​ условий.​ счетчиком цикла:​ же ранее содержала​ «Имя» будет адрес​И вставим новый стандартный​ промежуточные ячейки удалены.​ X и Y​ флажком пункт «Объединение​ на ленте «Объединить​

​Отменить объединение ячеек:​ объединить.​

Простое объединение ячеек

​ нескольких строках. Объединение​ с кнопкой​65​With ActiveWorkbook​ и т.д. тут​ поможет. Но это​Читайте также: Как объединить​

​Dim i As Long​ в себе объединенная​ отображаться одинаково, но​ модуль используя инструмент​Как видим, если обычное​ – это координаты​ ячеек». Тут же​ и поместить в​Отменяет объединение.​Нажмите команду​ ячеек позволяет создать​Объединить и поместить в​

​82​.SendMail Recipients:=»[email protected]», _​ все поучаствовали.​ уже не ко​ ячейки в Excel​Создадим цикл, который будет​

​ активная ячейка. После​ в макросе их​ в редакторе: «Insert»-«Module».​ объединение ячеек в​ соединяемых ячеек, после​ можно установить и​

​ центре».​Урок подготовлен для Вас​Объединить и поместить в​ одну большую ячейку,​

​ центре​8​Subject:=»Сегодняшняя выборка»​Микки​ мне ;)​ с помощью кода​ перемещаться по всем​

​ копирования значения для​ можно различить с​ А после чего​ программе Microsoft Excel​ добавление столбца. Например,​

Объединение через контекстное меню

​ другие параметры: направление​В этом случае, ячейки​ командой сайта office-guru.ru​ центре​ объединив при этом​.​8​.Close SaveChanges:=False​: Вот помяни его​Тот же Микки​

Переход к формату ячеек в Microsoft Excel

​ макроса VBA.​ выделенным объединенным ячейкам:​ объекта CutCopyMode устанавливается​ помощью методов объекта​ запишем в модуль​ довольно простое, то​ чтобы объединить таким​ и ориентация текста,​ объединятся, а все​Источник: http://www.gcflearnfree.org/office2013/excel2013/8/full​на вкладке​ несколько смежных.​Выберите пункт​Нужно чтобы было:​

​End With​ он тут как​

Объединение без потерь

​ замечательно пишет макросы!​Так же стоит отметить,​For i = 1​ свойство False, чтобы​ ActiveCell.MergeArea.Addres. В зависимости​ VBA код макроса​ с объединением ячеек​

​ способом ячейки A2​ выравнивание по горизонтали​ данные, которые будут​Автор/переводчик: Антон Андронов​Главная​В следующем примере мы​Отменить объединение ячеек​А1: 9​End Sub{/post}{/quote}​ тут…​Микки​ что выделенный диапазон​ To Selection.Count​ прекратить процесс копирования.​

Вставка столбца в Microsoft Excel

​ какой тип активных​ для разъединения объединенных​ без потерь придется​ и C2, в​ и вертикали, автоподбор​ вписываться в объединенную​

Добавление столбца в Microsoft Excel

​Автор: Антон Андронов​.​ применим перенос текста​.​А2: 45​Не совсем другая​ST​: Я в макросах​ может содержать необъединенные​В конце кода не​ В результате таблица​ ячеек будет возвращен​ ячеек:​ повозиться. Тем не​

Сцепление ячеек в Microsoft Excel

​ ячейку B2 вставляем​ ширины, перенос по​ ячейку, станут помещаться​

Сцепленные ячейки в Microsoft Excel

​Довольно часто при работе​Выделенные ячейки будут объединены​ по строкам к​Объединение и отмена объединения​А3: 65​ идея… если интересно​: Спасибо. макрос работает,​ полный лох.. только​ ячейки, которые будут​ забудем добавить конец​ листа заказов будет​ тип адреса –​

Копирование ячейки в Microsoft Excel

​Sub RazdelitVstavit()​ менее, это тоже​ выражение «=СЦЕПИТЬ(A2;C2)».​ словам. Когда все​ в центре.​ с таблицами в​

Параметры вставки в Microsoft Excel

​ в одну, а​ столбцу D.​ ячеек​и т.д.​ киньте мэйл кину​

​ Листов в книге​ те что макрорекордером..​ просто игнорироваться макросом.​ цикла:​ иметь такой же​ одна ячейка или​

Удаление столбцов в Microsoft Excel

​Dim adres As​ выполнимая задача для​Как видим, после этого,​ настройки выполнены, жмем​Если вы хотите, чтобы​

​ программе Microsoft Excel​ текст разместится в​Выделите ячейки, текст в​В данном уроке мы​Заранее спасибо.​ файлик.​ 530, когда все​ остальное написано с​ Если бы мы​Next​

​ вид как показано​

lumpics.ru

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

​ диапазон. Если активная​ String​ данной программы.​ символы в общей​ на кнопку «OK».​ данные размещались, согласно​ случается ситуация, когда​ центре.​ которых должен отображаться​ изучим такие полезные​Pelena​Serge​ выделял и отменял,​ кропотливой помощью ПРайста,​ не усовершенствовали наш​Вместо ссылки на активную​ ниже на рисунке:​

Макрос для разъединения объединенных ячеек в Excel

​ ячейка не является​adres = ActiveCell.MergeArea.Address​Автор: Максим Тютюшев​ ячейке «склеились».​Как видим, произошло объединение​ форматированию ячейки, то​ требуется объединить несколько​Кнопка​

таблица списка заказов.

​ на нескольких строках.​ функции Microsoft Excel,​: Здравствуйте.​: Ещё б не​ ругался что не​ Юрия М ,​ макрос, то при​ ячейку Active.Cell теперь​

Visual Basic.

​Данный макрос позволяет разъединить​ объединенной, тогда в​If adres <>​В программе Excel присутствует​Но, теперь вместо одной​ ячеек.​ нужно из выпадающего​ ячеек. Задача не​

​Объединить и поместить в​
​ В нашем примере​ как перенос текста​
​Выделяем объединенную ячейку​
​ интересно!​ хватает ресурсов...​
​ Слена и иже​
​ выделении нескольких объединенных​
​ будем использовать ссылку​
​ объединенные ячейки, которые​
​ переменной будет храниться​
​ ActiveCell.Address Then​
модуль VBA код макроса.

​ кнопка для разъединения​ объединённой ячейки мы​Но, что делать, если​ списка выбрать пункт​ слишком сложная, если​ центре​ мы выделим ячейки​ по строкам и​ — переходим в​

отменить объединение ячеек.

​А мыло здесь​Serge​ с ними.​ ячеек – разделилась​ на очередную по​ используют любое направление​ только адрес одной​ActiveCell.UnMerge​

​ объединенных ячеек таблицы​

​ имеем три: две​ в нескольких из​ «Объединить ячейки».​ эти ячейки не​действует как переключатель,​ в столбце D.​

Адрес активной ячейки.

​ объединение нескольких ячеек​ строку формул —​ светить? не хочется…​: …Отправка листа по​Serge​ бы только первая.​ счету ячейку в​ объединения: как по​ активной ячейки, а​ActiveCell.Copy​ на закладке: «ГЛАВНАЯ»-«Выравнивание»-«Отменить​ ячейки с первоначальными​ объединяемых ячеек присутствуют​В этом случае, запись​ содержат информации. Но,​ т.е. повторное нажатие​Выберите команду​ в одну. С​ выделяем содержимое этой​Какой нибудь Gleod​ мэйлу с обратным​: Ну не прибедняйтесь​ST​ выделенном диапазоне: Selection.(i).​ вертикали, так и​ не целого диапазона.​ActiveSheet.Paste ActiveSheet.Range(adres)​ объединение ячеек». Но​ данными, и одну​ данные, ведь при​ по умолчанию будет​ что делать, если​ на нее отменит​Перенести текст​ помощью данных функций​ ячейки — Копировать​ потом спамом задушит…​ адресом…{/post}{/quote}​

​ :)​: Возникла проблема, в​ Полная версия усовершенствованного​ полгоризонтали. Ее значение​ Далее макрос проверяет​Application.CutCopyMode = False​ что, если эту​ объединенную. Чтобы сделать​ объединении все значения,​ начинаться от правого​ в них уже​ объединение. Удаленные данные​на вкладке​ Вы сможете переносить​ — снимаем объединение​А файлик хочется…​Это он?​Я кучу Ваших​ книге много листов​ макроса выглядит следующим​

Пример.

​ будет одинаково вставлено​ является ли текущая​End If​ операцию нужно выполнять​ одну ячейку, кликаем​ кроме левого верхнего​ края объединенной ячейки.​ внесены данные? Неужели​ при этом не​

​Главная​ текст на несколько​ ячеек — становимся​Микки​Sub SendSheet()​ работ видел!​ с таблицами, в​ образом:​ во все ячейки,​ активная ячейка –​End Sub​ многократно, да еще​ по объединенной ячейке​ будут утрачены?​Также, есть возможность объединить​

​ они будут уничтожены?​

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

​ восстановятся​.​ строк, создавать заголовки​ в первую —​: да ради бога​ThisWorkbook.Sheets(«Выборка»).Copy​The_Prist, Юрий М,​ таблицах есть объединенные​Sub RazdelitVstavit()​

​ созданные после разъединения.​

​ объединенной, с помощью​Если мы хотим отменить​ и после нее​

​ правой кнопкой мыши,​Существует выход и в​

​ несколько ячеек построчно.​ Давайте разберемся, как​Для доступа к дополнительным​

​Текст будет перенесен по​

​ для таблиц, вписывать​ Вставить​ я свое свечу​With ActiveWorkbook​ Слэн, Pavel55 и​ ячейки, для того,​Dim adres As​Внимание! Объединенная ячейка может​ сравнения двух способов​

​ объединение ячеек в​
​ заполнять данными ново​ и в контекстном​
​ этой ситуации. Мы​ Для этого, выбираем​
​ объединить ячейки, в​ параметрам объединения ячеек,​
​ строкам.​
​ длинный текст в​Можно записать эти​
​ легко imj1958 на​
​.SendMail Recipients:="[email protected]", _​
​ другие конечно крутые​
​ чтобы собрать данные​
​ String​
​ содержать в качестве​
​ получения адреса для​
Пример2.

​ столбце «Год» и​ созданные ячейки. Реализовать​ меню выбираем пункт​ будем использовать функцию​ нужный диапазон, и​ том числе и​ нажмите стрелку рядом​Нажмите команду​ одну строку, не​

​ действия макрорекодером и​ рамблере.​Subject:=»Сегодняшняя выборка»​ макрописатели, но в​

​ с этих листов​Dim i As​ значения формулы. В​ одной и той​ заполнить созданные ячейки​ данную задачу вручную​ «Копировать».​ «СЦЕПИТЬ». Прежде всего,​ из выпадающего списка​ без потери данных,​ с иконкой команды​

exceltable.com

Отмена объединения ячеек в таблице

​Перенести текст​​ увеличивая при этом​ повесить на кнопку​nk91003730​.Close SaveChanges:=False​ этой теме их​ на один лист​ Long​ такие случаи после​ же активной ячейки.​ соответствующими значениями (годами),​ – это весьма​Затем, перемещаемся в правую​ нужно добавить между​ кликаем по значению​

​ в программе Microsoft​​Объединить и поместить в​еще раз, чтобы​ ширину столбцов, и​

​nk91003730​​: Добрый день уважаемые​End With​ нет, а Вы​ надо отменить объединение,​For i =​ запуска макроса эта​

​ Тот способ, который​ тогда перейдите на​ затратное занятие по​
​ ячейку с первоначальными​ ячейками, которые собираемся​ «Объединить по строкам».​ Excel.​

​ центре​ отменить перенос.​

​ многое другое.​​: Спасибо. Это долго​ эксперты,​End Sub​ есть!​ по одному листу​ 1 To Selection.Count​ формула будет вставлена​ передал адрес в​

​ одну большую объединенную​​ времени и силам.​ данными, и, кликнув​
​ соединить, ещё одну​Как видим, после этого​
​Скачать последнюю версию​. Появится выпадающее меню,​При объединении двух и​Очень часто содержимое не​ для файла с​К примеру имеется​Serge​

​Микки​​ очень долго. объем​adres = Selection(i).MergeArea.Address​ во все ячейки​ переменную из метода​ ячейку B2 и​ Здесь рационально воспользоваться​
​ по ней, выбираем​ ячейку. Для этого,​ ячейки объединились не​ Excel​ со следующими командами:​ более ячеек результирующая​ может полностью отобразиться​ больше тысячи значений.​ такой файл (приведен​: Естественно, я бы​: Не ну идея​ большой, есть ли​If adres <>​ созданных в результате​

​ объекта ActiveCell.MergeArea.Addres и​​ запустите макрос: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«RazdelitVstavit»-«Выполнить».​ макросом.​ в параметрах вставки​

​ кликаем правой кнопкой​​ в одну общую​Хотя, мы будем показывать​Объединить и поместить в​ ячейка занимает место​ в ячейке, т.к.​Макрорекордер возвращает/перезаписывает в​

​ показательно, данных намного​​ тоже ругался :)​ часто моя ,​ какая то групповая​

​ Selection(i).Address Then​

​ отмены объединения только​
​ обычный – ActiveCell.Addres.​
​В данном VBA коде​
​Допустим у нас уже​
​ пункт «Значения».​
​ мыши на крайнюю​
​ ячейку, а приняли​
​ объединение ячеек на​

​ центре:​​ объединенных, но данные​ ее ширины не​

​ следующие ячейки данные​ больше), в котором​Зачем же Вы​ но писали в​
​ обработка?​Selection(i).UnMerge​ из относительных ссылок​
​ Если адрес в​ макроса используется только​

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

​ примере программы Excel​

​Объединяет выделенные ячейки​
​ при этом не​
​ хватает. В таких​
​ первой объединенной ячейки.​
​ ячейки А1-А6 объединены.​
​ их туда столько​
​ основном другие, говорю​
​Микки​
​Selection(i).Copy​ в адресах, поскольку​ переменной и адрес​ одна переменная. Она​

​ таблица списка заказов,​​ ячейке появились те​ ячеек. В появившемся​

​Существует возможность объединить ячейки​ 2010, но данный​
​ в одну, а​ складываются. Вы можете​

​ случаях Вы можете​

​Nic70y​​ Необходимо отменить объединение​ напихали, да ещё​ же я полный​: Пометить лист -​

planetaexcel.ru

Отмена объединения ячеек (Формулы/Formulas)

​ActiveSheet.Paste ActiveSheet.Range(adres)​​ в переменной не​ получен обычным способом​
​ хранит в себе​ в которой имеются​ данные, которые перед​ контекстном меню выбираем​ через контекстное меню.​ метод подойдет и​ содержимое помещает в​ объединить любой смежный​ выбрать один из​: вариант формулой​ ячейки, причем цифры​ с объединёнными ячейками?!​ лох..​ снять объединение ячеек​Application.CutCopyMode = False​
​ будет символа $​
​ не совпадает, значит​
​ адрес диапазона ячеек​
​ объединенные ячейки в​
​ этим были в​
​ пункт «Вставить…».​
​ Для этого, выделяем​
​ для других версий​
​ центре.​
​ диапазон, и даже​
​ двух вариантов: перенести​
​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=—ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(ВПР(«яя»;A$1:A1;1;1);ПОИСК(«»;ПОДСТАВИТЬ(ВПР(«яя»;A$1:A1;1;1);СИМВОЛ(10);»»;СТРОКА(A1)-ПОИСКПОЗ(«яя»;A$1:A1;1)+1))-1);СИМВОЛ(10);»»);15)​
​ разделенные Enter должны​
​А по листам​

​есть две-три разработки​​ не помогает?​
​End If​ необходимого для абсолютного​ она является объединенной​ B2:B15 которые охватывает​ столбце «Год». Пример,​ ячейке с формулой.​Открывается окошко, в котором​ курсором ячейки, которые​ данного приложения.​
​Объединить по строкам:​ все ячейки на​ текст по строкам​

​так надежнее:Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=—ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(ВПР(«яя»;A$1:A1;1;1);ПОИСК(«»;ПОДСТАВИТЬ(ВПР(«яя»;A$1:A1;1;1)&СИМВОЛ(10);СИМВОЛ(10);»»;СТРОКА(A1)-ПОИСКПОЗ(«яя»;A$1:A1;1)+1))-1);СИМВОЛ(10);»»);15)​​ встать в соответствующую​ как передвигаетесь? Про​ которые мне нравятся​
​Serge​Next​ или смешанного адреса.​

​ и код выполняется​​ одна активная объединенная​​ такой таблицы изображен​
​Теперь, удаляем крайний левый​

excelworld.ru

​ нужно переставить переключатель​

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

Содержание

  • Особенности разъединения ячеек
  • Метод 1: параметры в окне форматирования
  • Метод 2: инструменты на ленте
  • Заключение

Особенности разъединения ячеек

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

Метод 1: параметры в окне форматирования

Многие пользователи предпочитают выполнять объединение ячеек в окне “Формат ячеек”. Здесь же можно выполнить разъединение.

  1. Для начала нужно выделить объединенную ячейку. Затем щелчком правой кнопки мыши по ней раскрываем контекстное меню, в котором нам нужна строка “Формат ячеек”. Также можно просто нажать сочетание клавиш Ctrl+1, предварительно выбрав нужную ячейку.Формат ячеек через контекстное меню в Эксель
  2. Во вкладке “Выравнивание” обращаем внимание на группу параметров “Отображение”. Здесь должна стоять галочка напротив пункта “объединение ячеек”. Убираем ее и жмем кнопку OK.Отмена объединения ячеек в окне форматирования в Эксель
  3. В результате, объединение элементов будет отменено. Если ранее объединенная ячейка содержала какие-либо данные, они будут размещены в самой верхней левой ячейке разъединенного диапазона.Отмена объединения ячеек в Эксель

Метод 2: инструменты на ленте

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

  1. Выбираем объединенную ячейку, после чего в главной вкладке нажимаем кнопку “Объединить и поместить в центре” (блок инструментов “Выравнивание”), которая в данном случае выполнит обратное действие, т.е. разъединение.Отмена объединения ячеек нажатием кнопки на ленте программы в Excel
  2. В итоге мы добились требуемого результата в считанные секунды.Отмена объединения ячеек в Excel

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

Заключение

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

 

Alex

Пользователь

Сообщений: 115
Регистрация: 16.01.2013

Добрый день!  

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

 

Макросом выделить нужный диапазон и  
Selection.UnMerge

 

Воть  

  Sub Macro1()  
i = ActiveCell.Row  
b = ActiveCell.Column  
Cells(i, b).UnMerge  
Selection.FillDown  
End Sub  

  Перед запуском макроса, необходимо активировать (тыкнуть мышкой) на нужной ячейке :-)

 

Тыкаем в объединенную ячейку и запускаем макрос:  
Sub Макрос1()  
a = Selection.Value  
Selection.UnMerge  
For Each rr In Selection  
rr.Value = a  
Next  
End Sub  

    СердЖиГ, у Вас только один столбец заполняеется

 

Лузер, я — ламер :-))) Начинающий вобщем

 

СердЖиГ, просто проверить ведь этот код :)

 

Alex

Пользователь

Сообщений: 115
Регистрация: 16.01.2013

Спасибо всем. Я правда надеялся обойтись без макросов, но видно нет такого варианта. ((( Придется с макросами.

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

А ведь тема-то интересная, часто нужная и так и не доведенная до ума…  
Вот есть, например, таблица — штатное расписание организации (ну, или табличное описание чего угодно, имеющего иерархическую структуру) составленное с использованием объединенных ячеек. Естественно, что из-за наличия объединенных ячеек такую таблицу нормально фильтровать будет невозможно, а уж о том, чтобы перенести информацию в базу данных даже и подумать страшно…  
Макрос типа:  

  Sub UnMerge_And_Fill_All()  
  Dim MainValue  
  Dim iCell As Range  
  MainValue = Selection.Value  
  Selection.UnMerge  
  For Each iCell In Selection  
     iCell.Value = MainValue  
  Next  
End Sub  

  при выделении по очереди каждой из объединенных ячеек всё делает правильно.  
Но если выделить диапазон, содержащий несколько групп объединенных ячеек, то после разъединения все ячейки выделенного диапазона окажутся заполнены значением MainValue.  
А надо сделать чтобы в выделенном диапазоне перебирались в цикле все группы объединенных ячеек, каждая группа разгруппировывалась и её ячейкам присваивалось своё значение MainValue  
Алгоритм-то мне ясен, но как сделать, что-то не пойму…  
В приведенном примере на Лист1 в ячейках A1:E40 (в общем случае A:E) показана исходная таблица, а на Лист2 — таблица, как она должна выглядеть после разгруппировки макросом Smart_UnMerge

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

VovaK

Пользователь

Сообщений: 1716
Регистрация: 01.01.1970

Делаете еще один цикл и проверяете каждую Cell in Selection, если  Cell.MergeCells = True то Call UnMerge_And_Fill_All затем Next  

  Собственно все. Отлаживайте и готово.

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

Что-то у меня не работает…  
Ругается «Недопустимое число аргументов или присвоение значения свойства.  

  Т.к. после iCell.UnMerge изначальное Selection сбрасывается и выбранными оказываются разгруппированные ячейки, то пришлось его запоминать в дополнительной переменной Sel_0  

  Сделал так:  
Sub Smart_UnMerge()  
  Dim MainValue  
  Dim iCell As Range  
  Dim iiCell As Range  
  Dim Sel_0  
  Sel_0 = Selection.Range  
  For Each iCell In Sel_0  
     If iCell.MergeCells = True Then  
        MainValue = iCell.Value  
        iCell.UnMerge  
        For Each iiCell In Selection  
           iiCell.Value = MainValue  
        Next  
     End If  
  Next  
End Sub

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

The_Prist как всегда СУПЕР!  
Спасибо. Тестирую. Пока всё отлично работает.

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

КАДР

Пользователь

Сообщений: 148
Регистрация: 26.11.2008

http://www.planetaexcel.ru/tip.php?aid=86  

для Excel 2007: на ленте выбрать Главная — Найти и выделить — Выделение группы ячеек — пустые ячейки

 

КАДР

Пользователь

Сообщений: 148
Регистрация: 26.11.2008

Это делать после того, как снято объединение ячеек и выделен диапазон для заполнения

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

The_Prist ,  
если выделить целиком несколько столбцов, то разгруппировывает очень долго…  
Надо бы, наверное, как-то ограничить обрабатываемый диапазон «до последней используемой строки».  
А как это сделать?

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

СПАСИБО, The_Prist !!!  
Вы пишете макросы быстрее чем я их тестирую…  
Всё теперь отлично и быстро работает.  
А что надо изменить чтобы в разгруппированные ячейки вставлялось не значение первой («главной») ячейки, а формула =главной_ячейке?  
Тогда, изменив «ключевую» ячейку, мы сразу же изменим и те, с которыми она была сгруппирована.    
Ну, а уж после всех исправлений можно будет и специальной вставкой формулы на значения заменить.

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

вот тут «в лёт» не получилось…  
1. Разгруппировываются все ячейки в столбце даже если выбран ограниченный диапазон, а не столбец.  
2. Формула по строкам (сверху вниз) размножается правильно, а по столбцам (слева-направо) — нет. Берет значения из ячейки выше, а не слева…  
Пункт 2 попробую, конечно, сам исправить, но это мне ещё придётся побиться…

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

Да!  
Отлично!  
Всё работает!  
СПАСИБО!  
Ща запихну эти два кода к себе в Personal.xls и сделаю для них кнопочки на панели управления (не забыть бы потом Excel11.xlb в XLSTART переложить чтобы настройки не пропали)

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

на всякий случай если кому-нибудь надо:  
Sub UnMerge_and_Fill_by_Value()  
  ‘—————————————————————————————  
  ‘ Procedure : UnMerge_and_Fill_by_Value  
  ‘ Author    : The_Prist (

http://www.planetaexcel.ru/forum.php?thread_id=3760&thread_id=3760&page_forum=lastpage&allnum_forum=14#post86381

)  
  ‘ Date      : 23.12.2009  
  ‘ Purpose   : Снимает объединение со всех ячеек выделенного диапазона _  
    и заполняет все разгруппированные ячейки каждой бывшей группы значениями верхней левой  
  ‘—————————————————————————————  
  Dim sValue As String, sAddress As String  
  Dim rRange As Range, rCell As Range  
  Application.ScreenUpdating = False  
  Set rRange = Range(Cells(Selection.Row, Selection.Column), _  
                     Cells(Cells.SpecialCells(xlLastCell).Row, _  
                           Selection.Column + Selection.Columns.Count — 1))  
  For Each rCell In rRange  
     If rCell.MergeCells = True Then  
        sValue = rCell.Value: sAddress = rCell.MergeArea.Address  
        rCell.UnMerge: Range(sAddress).Value = rCell.Value  
     End If  
  Next  
  Application.ScreenUpdating = True  
End Sub  

  Sub UnMerge_and_Fill_by_HyperLink()  
  ‘—————————————————————————————  
  ‘ Procedure : UnMerge_and_Fill_by_HyperLink  
  ‘ Author    : The_Prist (

http://www.planetaexcel.ru/forum.php?thread_id=3760&thread_id=3760&page_forum=lastpage&allnum_forum=14#post86381

)  
  ‘ Date      : 23.12.2009  
  ‘ Purpose   : Снимает объединение со всех ячеек выделенного диапазона _  
    и заполняет все разгруппированные ячейки каждой бывшей группы ссылками на значения верхней левой  
  ‘—————————————————————————————  
  Dim sAddress As String  
  Dim rRange As Range, rCell As Range, rEmptyRange As Range  
  Dim lLastRow As Long, lLastCol As Long  
  lLastRow = Cells.SpecialCells(xlLastCell).Row  
  lLastCol = Selection.Column + Selection.Columns.Count — 1  
  If lLastRow > Selection.Row + Selection.Rows.Count — 1 Then lLastRow = Selection.Row + Selection.Rows.Count — 1  
  Application.ScreenUpdating = False  
  Set rRange = Range(Cells(Selection.Row, Selection.Column), Cells(lLastRow, lLastCol))  
  For Each rCell In rRange  
     If rCell.MergeCells = True Then  
        sAddress = rCell.MergeArea.Address: rCell.UnMerge  
        On Error Resume Next: Set rEmptyRange = Range(sAddress).SpecialCells(xlCellTypeBlanks)  
        If Not rEmptyRange Is Nothing Then rEmptyRange.Formula = «=» & rCell.Cells(1).Address  
     End If  
  Next  
  Set rRange = Nothing: Set rCell = Nothing: Set rEmptyRange = Nothing  
  Application.ScreenUpdating = True  
End Sub

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

Пардон, не углядел небольшую неточность…  
Диапазон выделения не ограничивается Selection  
Естественно, должно быть так:  

  Sub UnMerge_and_Fill_by_Value()  
‘—————————————————————————————  
‘ Procedure : UnMerge_and_Fill_by_Value  
‘ Author : The_Prist (

http://www.planetaexcel.ru/forum.php?thread_id=3760&thread_id=3760&page_forum=lastpage&allnum_forum=14#post86381

)  
‘ Date : 23.12.2009  
‘ Purpose : Снимает объединение со всех ячеек выделенного диапазона _  
и заполняет все разгруппированные ячейки каждой бывшей группы значениями верхней левой  
‘—————————————————————————————  
Dim sValue As String, sAddress As String  
Dim rRange As Range, rCell As Range  
Application.ScreenUpdating = False  
Set rRange = Intersect(Selection, Range(Cells(Selection.Row, Selection.Column), _  
Cells(Cells.SpecialCells(xlLastCell).Row, _  
Selection.Column + Selection.Columns.Count — 1)))  
For Each rCell In rRange  
If rCell.MergeCells = True Then  
sValue = rCell.Value: sAddress = rCell.MergeArea.Address  
rCell.UnMerge: Range(sAddress).Value = rCell.Value  
End If  
Next  
Application.ScreenUpdating = True  
End Sub  

  Sub UnMerge_and_Fill_by_HyperLink()  
‘—————————————————————————————  
‘ Procedure : UnMerge_and_Fill_by_HyperLink  
‘ Author : The_Prist (

http://www.planetaexcel.ru/forum.php?thread_id=3760&thread_id=3760&page_forum=lastpage&allnum_forum=14#post86381

)  
‘ Date : 23.12.2009  
‘ Purpose : Снимает объединение со всех ячеек выделенного диапазона _  
и заполняет все разгруппированные ячейки каждой бывшей группы ссылками на значения верхней левой  
‘—————————————————————————————  
Dim sAddress As String  
Dim rRange As Range, rCell As Range, rEmptyRange As Range  
Dim lLastRow As Long, lLastCol As Long  
lLastRow = Cells.SpecialCells(xlLastCell).Row  
lLastCol = Selection.Column + Selection.Columns.Count — 1  
If lLastRow > Selection.Row + Selection.Rows.Count — 1 Then lLastRow = Selection.Row + Selection.Rows.Count — 1  
Application.ScreenUpdating = False  
Set rRange = Intersect(Selection, Range(Cells(Selection.Row, Selection.Column), Cells(lLastRow, lLastCol)))  
For Each rCell In rRange  
If rCell.MergeCells = True Then  
sAddress = rCell.MergeArea.Address: rCell.UnMerge  
On Error Resume Next: Set rEmptyRange = Range(sAddress).SpecialCells(xlCellTypeBlanks)  
If Not rEmptyRange Is Nothing Then rEmptyRange.Formula = «=» & rCell.Cells(1).Address  
End If  
Next  
Set rRange = Nothing: Set rCell = Nothing: Set rEmptyRange = Nothing  
Application.ScreenUpdating = True  
End Sub

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

Alex_ST

Пользователь

Сообщений: 2746
Регистрация: 22.12.2012

На лицо ужасный, добрый внутри

Разбирался с кучей макросов в своём Personal.xls, немного «причесал» и слепил в один два предыдущих макроса заполнения разгруппированных ячеек:  
Sub UnMerge_and_Fill()  
  ‘—————————————————————————————  
  ‘ Procedure    : UnMerge_and_Fill  
  ‘ Topic_HEADER : Снятие объединения ячеек с заполнением  
  ‘ Topic_URL    :

http://www.planetaexcel.ru/forum.php?thread_id=3760  

  ‘ Purpose      : Снимает объединение со всех ячеек выделенного диапазона  
  ‘                и заполняет все разгруппированные ячейки КАЖДОЙ бывшей группы  
  ‘                либо ссылками на значения верхней левой, либо её значениями  
  ‘—————————————————————————————  
  If Selection.Cells.Count <= 1 Then Exit Sub  
  Dim rRange As Range, rCell As Range, sValue$, sAddress$, i&  
  Application.ScreenUpdating = False  
  Set rRange = Intersect(Selection, ActiveSheet.UsedRange)  
  Select Case MsgBox(«»»ДА»» — заполнить ячейки формулами-ссылками на первую ячейку» & vbCrLf & _  
                     «»»НЕТ»» — заполнить ячейки значениями из первой ячейки» & vbCrLf & _  
                     «»»ОТМЕНА»» не разгруппировывать» _  
                     , vbYesNoCancel + vbQuestion, «Как заполнять ячейки после разгруппировки?»)  
     Case vbYes   ‘ разгруппировать все ячейки в Selection и ячейки каждой бывшей группы заполнить формулами-ссылками на их первые ячейки  
        For Each rCell In rRange  
           If rCell.MergeCells Then  
              sAddress = rCell.MergeArea.Address: rCell.UnMerge  
              For i = 2 To Range(sAddress).Cells.Count  
                 With Range(sAddress)  
                    .Cells(i).Formula = «=» & .Cells(1).Address  
                    .Cells(i).Replace What:=»$», Replacement:=»», LookAt:=xlPart  ‘ сделать ссылки перемещаемыми  
                    .Cells(i).Font.ColorIndex = 5   ‘ сделать шрифт формул синим (это на любителя, конечно)  
                 End With  
              Next i  
           End If  
        Next rCell  
     Case vbNo    ‘ разгруппировать все ячейки в Selection и ячейки каждой бывшей группы заполнить значениями из их первых ячеек  
        For Each rCell In rRange  
           If rCell.MergeCells Then  
              sAddress = rCell.MergeArea.Address: sValue = rCell.Value: rCell.UnMerge  
              Range(sAddress).Value = rCell.Value  
           End If  
        Next  
     Case vbCancel  
        If MsgBox(«Разгруппировать стандартным способом?», vbYesNo + vbQuestion) = vbYes Then Selection.UnMerge  
  End Select  
  rRange.Select  
  Application.ScreenUpdating = True  
End Sub

С уважением, Алексей (ИМХО: Excel-2003 — THE BEST!!!)
<#0>

 

AlexST спасибо за то что причесал макрос, сохранил себе. Пригодится :)

 

student

Пользователь

Сообщений: 24
Регистрация: 01.01.1970

#22

02.05.2012 13:35:45

Пишу дисер, столкнулся с такой проблемой — по первой же ссылке нашел ваш форум. Спасибо ребята за Ваши труды! Очень помогли! Добро всегда возвращается! Спасибо!

lev

Разбить ячейки, а вернее - отменить объединение ячеек в эксель с заполнением всех образовавшихся ячеек данными из объединеннойИногда эксель удивляет своими требованиями делать что-то через э… макросы. Вот недавно, встала задача разбить несколько объединенных ячеек по одной, чтобы можно было нормально отсортировать весь диапазон. Думаю, никому не надо объяснять, как просто убрать объединение ячеек, разбив их по одной (я имею ввиду формат-выравнивание-убрать галку с “объединение ячеек”). Но, к сожалению, эксель обладает очень интересным свойством при отмене объединения ячеек не спрашивать, как именно мы хотели бы их вернуть в нормальное, разъединенное состояние, а тупо пишет в верхнюю левую ячейку значение, которое было в объединенной, а все остальные ячейки оставляет незаполненными. Ну, естественно, ни о какой нормальной сортировке по прежде объединенным ячейкам говорить не приходится. И хорошо бы их было всего штук 200-300. А если их шестьдесят тысяч, разбитых на группы по 10 ячеек? Вручную шесть тысяч значений потом копировать в оставшиеся пустыми ячейки?

Типичная картина – хотим отсортировать список пофамильно, чтобы Кузнецов шел все-таки после Иванова. Пример, разумеется, очень упрощенный.

Исходные данные

Просто так отсортировать таблицу эксель нам не даст – ячейки-то объеденены. Но и если мы отменим объединение, то каждая фамилия запишется только в верхнюю ячейку, и остальные придется дозаполнять. Получится вот так вот:

Обычное объединение ячеек

А нам то надо, чтобы в каждой ячейке было соответствующее значение, иначе при сортировке получится черти что!

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

  • разбитие ячеек с автозаполнением
  • более подробно о снятии объединения ячеек с заполнением
  • разгруппировать ячейки выделенного диапазона с заполнением

Проверил все, работают отлично. Код самого простого, как показавшего отличнейшие результаты, хочу разместить и здесь. На всякий случай, если вдруг пропадет с исходной страницы, ссылку на которую я привел выше.

Итак, создаем макрос с кодом:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

Sub UnMerge_And_Fill_By_Value() разгруппировать все ячейки в Selection и ячейки каждой бывшей группы заполнить значениями из их первых ячеек

     Dim Address As String

     Dim Cell As Range

     If TypeName(Selection) &lt;&gt; «Range» Then

         Exit Sub

     End If

     If Selection.Cells.Count = 1 Then

         Exit Sub

     End If

     Application.ScreenUpdating =  False

     For Each Cell In Intersect(Selection, ActiveSheet.UsedRange).Cells

         If Cell.MergeCells Then

             Address = Cell.MergeArea.Address

             Cell.UnMerge

             Range(Address).Value = Cell.Value

         End If

     Next

End Sub

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

Результат разбиения макросом

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

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

Тоже на всякий случай приведу код:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

Sub MergeCls()

Dim ri As Integer, r2 As Integer, Col As Integer

r1 = ActiveCell.Row

r2 = ActiveCell.Row

Col = ActiveCell.Column

Do

If Cells(r1, Col) &lt;&gt; Cells(r2 + 1, Col) Then

If r1 &lt;&gt; r2 Then

Range(Cells(r1 + 1, Col), Cells(r2, Col)).ClearContents

With Range(Cells(r1, Col), Cells(r2, Col))

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

.WrapText = True

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = True

End With

End If

r1 = r2 + 1

End If

r2 = r2 + 1

Loop Until Cells(r2, Col) = «»

End Sub

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

ajax loader

2

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Like this post? Please share to your friends:
  • Отменить общий доступ к файлу excel не активно
  • Отменить общий доступ к книге excel 2019
  • Отменить консолидацию в excel
  • Отменить действие в excel горячие клавиши
  • Отменить гиперссылку в ячейке excel