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

Один из методов идентификации ячеек — использовать возможности поиска Excel. Выполните следующие действия:

  1. Нажмите Ctrl + F. Excel отображает вкладку «Найти» диалогового окна «Найти и заменить».

  2. При необходимости нажмите кнопку «Параметры», чтобы убедиться, что диалоговое окно «Найти и заменить» развернуто и отображает все параметры. (См. Рис. 1.)

  3. Убедитесь, что поле «Найти» пусто.

  4. Поместив курсор в поле «Найти», нажмите кнопку «Формат». Excel отображает диалоговое окно «Найти формат».

  5. Убедитесь, что отображается вкладка «Выравнивание». (См. Рис. 2.)

  6. Убедитесь, что установлен флажок «Объединить ячейки» (в нем должен быть установлен флажок).

  7. Нажмите OK, чтобы закрыть диалоговое окно «Найти формат».

  8. Щелкните «Найти все».

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

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

Sub FindMerged1()

Dim c As Range     For Each c In ActiveSheet.UsedRange         If c.MergeCells Then             MsgBox c.Address & " is merged"

End If     Next End Sub

Этот конкретный макрос проходит через все ячейки на листе (ну, по крайней мере, те, которые находятся в UsedRange), и, если ячейка является частью объединенной ячейки, отображается окно сообщения. Обратите внимание, что соответствующее проверяемое свойство — это свойство MergeCells. Это установлено в True, если ячейка объединена с другой ячейкой.

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

Sub FindMerged2()

Dim c As Range     For Each c In ActiveSheet.UsedRange         If c.MergeCells Then             c.Interior.ColorIndex = 36         End If     Next End Sub

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

Function FindMerged3(rCell As Range)

FindMerged3 = rCell.MergeCells End Function

С помощью этой простой функции вы можете затем использовать условное форматирование, чтобы как-то выделить ячейки, если они объединены. (Если функция возвращает значение True, то условное форматирование применяет любое указанное вами форматирование к ячейке.)

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

Sub FindMerged4()

Dim c As Range     Dim sMsg As String

sMsg = ""

For Each c In ActiveSheet.UsedRange         If c.MergeCells Then             If sMsg = "" Then                 sMsg = "Merged worksheet cells:" & vbCr             End If             sMsg = sMsg & c.Address & vbCr         End If     Next     If sMsg = "" Then         sMsg = "No merged worksheet cells."

End If

MsgBox sMsg End Sub

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

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3905) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Identifying_Merged_Cells [Определение объединенных ячеек].