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

dr.MIG
Гуру
Гуру
Аватара пользователя

 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль
  • Сайт
  • ICQ

Word. Узнать объединены ли ячейки

Перебираю ячейки в таблице, как узнать является ли текущая ячейка результатом объединения нескольких столбцов?

Salus populi suprema lex


Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону
  • ICQ

Re: Word. Узнать объединены ли ячейки

Сообщение Alec » 17.07.2010 (Сб) 21:18

По-моему непосредственно это невозможно. Слишком много условностей — если объединить две ячейки, а потом получившуюся разбить на три, которая будет считаться объединенной?
Сравнением ширин ячеек с ширинами в других строках?

Иногда лучше вовремя остановиться…
И начать заново!


iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Word. Узнать объединены ли ячейки

Сообщение iGrok » 17.07.2010 (Сб) 21:37

Alec писал(а):Сравнением ширин ячеек с ширинами в других строках?

А чем это поможет, если

Alec писал(а):…объединить две ячейки, а потом получившуюся разбить на три…

label:

cli

jmp label


dr.MIG
Гуру
Гуру
Аватара пользователя

 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль
  • Сайт
  • ICQ

Re: Word. Узнать объединены ли ячейки

Сообщение dr.MIG » 17.07.2010 (Сб) 21:58

В общем случае, возможно это и не решаемо. Меня же интересует частный случай. Во вложении пример DOC-файла. Это расписание. Другие варианты не имеют принципиальных отличий и имеют сходную структуру. Задача состоит в том, чтобы из этого общего расписания извлечь расписание для отдельных групп, т.е. в данном случае получить 24 отдельных расписания. Вот и думаю над алгоритмом.
Рассматривал как наиболее простой вариант поставить курсор в верхнюю ячейку и спускаясь на ячейку ниже получить искомое. Однако это движение так же не удается организовать так как появляется ошибка, которую и следует ожидать: «Отсутсвует доступ к отдельным строкам, поскольку таблица имеет ячейки, объежиненные по вертикали.»

Вложения
sample.zip
(28.48 Кб) Скачиваний: 194

Salus populi suprema lex


alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Word. Узнать объединены ли ячейки

Сообщение alibek » 17.07.2010 (Сб) 22:40

В Word-овских таблицах нет такого понятия «объединенной ячейки», какое вкладывается в объединенные ячейки Excel.
Так что считай количество ячеек в строке и складывай их ширину, после чего сравнивай со следующей строкой.

Lasciate ogni speranza, voi ch’entrate.


viter.alex
Бывалый
Бывалый
Аватара пользователя

 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal
  • Сайт
  • ICQ

Re: Word. Узнать объединены ли ячейки

Сообщение viter.alex » 20.07.2010 (Вт) 12:41

Если ячейки объединены по строкам, то можно узнать так (работает только для Selection, но не для Range):

Код: Выделить всё
ActiveDocument.Tables(1).Range.Cells(1).Select
With Selection
  If .Information(wdStartOfRangeRowNumber) <> .Information(wdEndOfRangeRowNumber) Then
    MsgBox "Ячейка объединена по " & .Information(wdEndOfRangeRowNumber) - .Information(wdStartOfRangeRowNumber) - 1 & " строкам"
  End If
End With

С ячейками, объединёнными по столбцам, так не получится.

Лучше день потерять — потом за пять минут долететь!


dr.MIG
Гуру
Гуру
Аватара пользователя

 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль
  • Сайт
  • ICQ

Re: Word. Узнать объединены ли ячейки

Сообщение dr.MIG » 20.07.2010 (Вт) 20:00

Да, я этот код нашел, но интересовало именно объединение по столбцам.
Тогда другой вопрос — можно ли как-то эмулировать переход на ячейку вниз? Или единственный выход — это MoveDown с wdLine и проверкой произошел ли переход к другой ячейке или был переход внутри ячейки?

Salus populi suprema lex




Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Еще…Меньше

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

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

  1. На вкладке Главная выберите Найти и выделить > Найти.

  2. Щелкните Параметры > формат .

    Диалоговое окно "Поиск"

  3. Нажмите кнопку Выравнивание > объединить ячейки >ОК.

    Установленный флажок "Объединить"

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

    Поиск всех объединенных ячеек

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

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

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

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

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

В общем, в продолжение своей предыдущей темы по парсингу таблиц Word’a с помощью interop я столкнулся с объединенными ячейками.

Как я могу узнать на сколько ячеек произошло объединение, что бы я мог размножить F3 на N строчек?

Капался в дебаггере в поисках нужного свойства, но что-то не нашел… Да и в интернете поголовно пишут, что такого свойства нет

UPD 1

На одном из ресурсов подкинули вот такую идею(Код на VBA, но легко переписывается на C#):

Sub ParseInExcel()
    Dim doc As Document, tbl As Table, eObj, eWbk, eWst, eRng, eCell
    Dim i As Long, j As Long
    Set doc = ThisDocument
    Set tbl = doc.Tables(1)
    tbl.Range.Copy
    Set eObj = CreateObject("Excel.Application")
    Set eWbk = eObj.Workbooks.Add
    Set eWst = eWbk.Sheets(1)
    eWst.Paste
    Set eRng = eWst.Cells(1).CurrentRegion
    For i = 1 To eRng.Rows.Count
        For j = 1 To eRng.Columns.Count
            Set eCell = eRng.Cells(i, j)
            If eCell.MergeCells Then
                Debug.Print eCell.MergeArea.Cells(1).Value & " ";
            Else
                Debug.Print eCell.Value & " ";
            End If
        Next
        Debug.Print
    Next
    eWbk.Saved = True
    eWbk.Close
    Set eWbk = Nothing
    eObj.Quit
    Set eObj = Nothing
End Sub

Смысл в том, что из Word все копипастится в Excel, а там уже появляются свойства, которые показывают объединение ячеек-MergeRange. Проблема в том, что будет занят буфер обмена(самое проблемное на мой взгляд, так как не смогу работать за ПК в момент работы программы иначе покалечу буфер), а так же в том, что подключается второй всадник апокалипсиса-Excel.

Если Excel знает, как представить таблицу из Word и создать свойства, которые показывают, что некая зона объединена, то значит должен иметься какой-то однозначный алгоритм для вычисления этого средствами Word’a.

Даже при сохранении в html-формате пишется кол-во объединенных колонок и строк.

UPD 2

По объединенным строкам я нашел решение, но по колонкам нет. Накидал свое решение, но не думаю, что оно универсально.

Может у кого-то есть еще идеи?

P.S Interop не принципиален, но в приоритете, так как много кода на нем нарисовал.

Если есть решение например для *.DOCX, то я могу сменить формат.

Поиск объединённых ячеек

Добрый день уважаемые читатели и подписчики блога. Сегодня речь пойдёт о рутинных, но тем не менее часто встречающихся действиях. Цель — нужно найти объединённые ячейки на листе (таблице, в книге). 

Первое правило — разберёмся как в Excel объединяются ячейки. Ответ проще простого -выделяем необходимый диапазон и нажимаем кнопку «Объединить и поместить в центре».

Поиск объединённых ячеек

Всё так. Как быть если в большой, а может и нет, таблице нужно найти все объединённые ячейки? Точнее даже не так — как задать параметр поиска — объединённые ячейки? Давайте разбираться.

Имеем таблицу, поиск осуществлять будем в ней.

Поиск объединённых ячеек

Жмём сочетание клавиш Ctrl+F или кнопку «Найти» для вызова диалогового окна поиска.

Поиск объединённых ячеек

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

Для его включения нужно выставить соответствующую настройку, нажав на кнопку «Параметры».

Поиск объединённых ячеек

Перед нами появится расширенное окно настройки поиска. Щёлкаем на кнопку «Формат» и далее переходим на вкладку «Выравнивание».

Поиск объединённых ячеек

Останется поставить галку на пункт «Объединение ячеек» в разделе «Отображение» и нажать ОК.

Поиск объединённых ячеек

Вернувшись в окно поиска можно увидеть, что рядом с форматом появилась звёздочка у слова «Образец». Теперь останется только нажать кнопку «Найти всё».

Поиск объединённых ячеек

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

Всем всего хорошего и удачи! Хотя, гляньте предыдущую статью про сравнение файлов, она тоже очень интересна.

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

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

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

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

Разделение ячеек

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

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

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

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

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

Совет: Если у вашей таблицы нет границ, можно отобразить сетку. Щелкните любое место таблицы, а затем на вкладке Макет (рядом с вкладкой Конструктор таблиц) выберите команду Отобразить сетку.
На вкладке "Макет" нажмите кнопку "Отобразить сетку".

На вкладке Макет (рядом с вкладкой Конструктор таблиц) выберите команду Объединить ячейки.

Объединяем ячейки таблицы в Microsoft Word

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

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

Объединение ячеек в Ворде

При создании таблицы в Microsoft Word на ленте (панель управления) появляется группа вкладок «Работа с таблицами». В ее состав входит подвкладка «Макет», инструментарием которой нам с вами и нужно воспользоваться для того, чтобы объединить ячейки.

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

Выделить две ячейки в Word

Объединить ячейки в Word

Ячейки объединены в Word

Разделение ячеек

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

  1. Выделите с помощью мышки ячейку (или ячейки), которую вы хотите разбить на несколько. В нашем примере это пара, объединенная в предыдущей части статьи.

Выделить ячейку в Word

Разделить ячейки в Word

Окно разбиения ячеек в Word

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

Разделение одной ячейки на несколько в программе Microsoft Word

Ячейки будут разделены согласно заданным вами параметрам.

разбитые ячейки в Word

Заключение

Из этой небольшой статьи вы узнали немного больше о работе с таблицами в Microsoft Word, а конкретно о том, как объединять ячейки и/или разделять их.

ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.
ЗакрытьОпишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Как объединить и разъединить ячейки и столбцы в таблице в Ворде: пошаговая инструкция, сочетание клавиш

Статья расскажет, как объединить или разъединить ячейки и столбцы в «Microsoft Word».

В текстовом редакторе «Word» нам открывается множество возможностей, включая создание и оформление таблиц. Таблицы можно расширять, автоматически нумеровать в них строки, нумеровать сами таблицы в одном документе и т.д.

В «Word» достаточно широкий инструментарий для осуществления разных задач с таблицами и текстом. Сегодня мы поговорим о том, как объединять или разделять в «Word 2007/2010/2013/2016» столбцы и ячейки.

Как в «Word» объединить и разъединить ячейки и столбцы в таблице?

  • Выделяем мышкой те ячейки в таблице, которые будем объединять (в каждой версии «Word» наименование разделов, пунктов, подпунктов может немного отличаться, но принцип работы с инструментарием остается одинаковым).

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

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

  • На панели инструментов заходим в раздел «Макет», нажимаем на кнопку «Объединение» и далее – на «Объединить ячейки».

Раздел "Макет", кнопка "Объединение"

Раздел «Макет», кнопка «Объединение»

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

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

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

Выделяем ячейку для разъединения

Выделяем ячейку для разъединения

  • Снова на панели инструментов в разделе «Главная» нажимаем на «Объединение» и теперь уже жмем на «Разделить ячейки».

Заходим в раздел "Макет" - "Разъединить ячейки"

Заходим в раздел «Макет» — «Разъединить ячейки»

  • Далее откроется окошко с предложением выбрать число строк и столбцов, на которые мы хотим разделить нашу ячейку. Выбираем то, что нужно и жмем на «Ок».

Разбиваем ячейку на нужное количество столбцов и строк

  • После этого наслаждаемся результатами (на картинке ниже)

Если вы хотите объединить или разделить ячейки с помощью сочетания клавиш, то воспользоваться этим мы не сможем, в силу отсутствия по умолчанию данной функции в «Word». Но вы сможете назначать любые горячие клавиши и команды для них в настройках редактора. Приведенные нами выше способы тоже очень удобны.

Понравилась статья? Поделить с друзьями:
  • Как найти экскурсовода в музей
  • Как составить перечень работ при ремонте
  • Уровень 99 как найти носки
  • Как найти разрядность числа
  • Как составить правила в семье с ребенком