Вопрос

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

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

"Если createRange ничем, то"

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

Это было полезно?

Решение

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

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

- это 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
.

Другие советы

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

Вы можете использовать диапазон () , как так:

If Worksheets("Sheet1").Range("A1").MergeCells Then
  Do something
Else
  Do something else
End If
.

или:

If Worksheets("Sheet1").Range("A1:C1").MergeCells Then
  Do something
Else
  Do something else
End If
.

попеременно, вы можете использовать ячейки () :

If Worksheets("Sheet1").Cells(1, 1).MergeCells Then
  Do something
Else
  Do something else
End If
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top