Обнаружение объединенных ячеек в VBA Excel с MergeArea

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

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

"Если currentRange ничего не значит"

вообще не работает. Есть идеи? Большое спасибо.

Ответы

Ответ 1

Для этого есть несколько полезных битов кода.

Поместите курсор в объединенную ячейку и задайте эти вопросы в окне "Неверное":

Является ли activecell объединенной ячейкой?

? Activecell.Mergecells
 True

Сколько ячеек объединено?

? Activecell.MergeArea.Cells.Count
 2

Сколько столбцов объединено?

? Activecell.MergeArea.Columns.Count
 2

Сколько строк объединено?

? Activecell.MergeArea.Rows.Count
  1

Что такое адрес объединенного диапазона?

? activecell.MergeArea.Address
  $F$2:$F$3