Как найти объединенные ячейки excel vba

{quote}{login=Марчук}{date=19.10.2009 12:18}{thema=}{post}Sub Макрос1()  

  For r = 1 To 10  
   For c = 1 To 10  
       If Cells(r, c).MergeCells = True Then Debug.Print Cells(r, c).MergeArea.Address  
   Next  
Next  
End Sub{/post}{/quote}  

  Огромное спасибо!  
задел есть  
теперь осталось вставить в код алгоритм исключения из циклов ячеек, входящих в объединение или уже выявленных объединенных ячеек  
PS все таки знание процедур VBA у меня слабовато  
СПАСИБО ВСЕМ!!!

Вы знаете, как найти и выделить все объединенные ячейки в Excel? Вот крутые хитрые способы быстро определить и выбрать все объединенные ячейки в выделении или диапазоне в Microsoft Excel 2007 и 2010.

Определите и выберите все объединенные ячейки с помощью команды Найти

Определите все объединенные ячейки с кодом VBA

Выберите и подсчитайте все объединенные ячейки с помощью Kutools for Excel


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

Вы можете определить и выбрать все объединенные ячейки на активном листе с помощью Арендовать команду со следующими шагами:

1, Нажмите Главная > Найти и выбрать > Арендовать для открытия Найти и заменить диалоговое окно. Вы также можете открыть Найти и заменить диалоговое окно с нажатием Ctrl + F ключи.

2, Нажмите Формат в диалоговом окне, (Если вы не можете узнать Формат кнопку, нажмите Опции кнопку, чтобы развернуть диалоговое окно.) см. снимок экрана:

документ выберите объединенные ячейки 1

3. В всплывающем Найти формат диалоговое окно, только отметьте Объединить ячейки вариант в Текстовый контроль Раздел под центровка вкладку и щелкните OK.

документ выберите объединенные ячейки 2

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

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

документ выберите объединенные ячейки 3

Советы: Если вы хотите только идентифицировать, находить и выбирать объединенные ячейки в выделенном фрагменте, вам необходимо сначала выбрать диапазон.


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

VBA 1: определить и выделить все объединенные ячейки

1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, и вставьте следующий макрос в Модули Окно.

Sub FindMergedcells()
'updateby Extendoffice
Dim x As Range
For Each x In ActiveSheet.UsedRange
If x.MergeCells Then
x.Interior.ColorIndex = 8
End If
Next
End Sub

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

документ выберите объединенные ячейки 4

VBA 2: определить и перечислить все объединенные ячейки

1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите ВставитьМодули, и вставьте следующий макрос в Модули Окно.

Sub ListMergedcells()
'updateby Extendoffice
Dim x As Range
Dim sMsg As String
sMsg = ""
For Each x In ActiveSheet.UsedRange
If x.MergeCells Then
If sMsg = "" Then
sMsg = "Merged cells:" & vbCr
End If
sMsg = sMsg & Replace(x.Address, "$", "") & vbCr
End If
Next
If sMsg = "" Then
sMsg = "No merged cells."
End If
MsgBox sMsg
End Sub

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

документ выберите объединенные ячейки 5


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

Kutools for Excel‘s Выбрать объединенные ячейки Инструмент поможет вам идентифицировать, найти и выбрать все объединенные ячейки в выделении одним щелчком мыши.

После установки Kutools for Excel, пожалуйста, сделайте следующее :( Бесплатная загрузка Kutools for Excel от Yhao сейчас! )

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

2. Нажмите Кутулс > Выберите > Выбрать объединенные ячейки, см. снимок экрана:

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

документ выберите объединенные ячейки 7

Бесплатная загрузка Kutools for Excel от Yhao сейчас!


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

I have an Excel document that contains duty shifts. I would like to findout if there is any merged cells like given below withing given range..

Example

How can I determine the cells are filled in given range or the cells are merged in given range?

If IsEmpty(Range("NewRange")) = False Then
    z = z + 1 'My counter 
End If

I tried IsEmpty Function but it doesnt work correctly on merged cells. You can try but the result is same.. While I got a block of empty cells there it counts as filled..

asked Feb 12, 2015 at 14:10

Berker Yüceer's user avatar

Berker YüceerBerker Yüceer

7,00618 gold badges67 silver badges102 bronze badges

1

Мне не надо искать объединенные ячейки. Это я могу
Смотри: В ячейке A1 — «Вася», A2 — «Коля» и т.д.
Запускаю процедуру поиска, например:

Visual Basic
1
2
3
4
5
6
Dim c As Range
Cells.Select
Set c = Selection.Find(What:="Коля", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not c Is Nothing Then c.Select

Все окей, найдем ячейку A2.

Теперь объединяем ячейку A2 c B2.
Запускаем тот же код и Коля найден не будет, чтобы егонайти, нужно каждый раз проверять свойства ячейки, если она с чем-то объеденина, снимать объединение, потом возвращать обратно. Можно как-то просто сразу найти «Коля» в объединенной ячейке.

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

If Worksheets("Лист1").Cells(1, 3).MergeCells Then MsgBox "Таки да!"

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

Private Sub UserForm_Initialize()
Dim Rng As Range
Dim n
'        создать выпадающий список
    With Worksheets("Лист1")
        Set Rng = .Range("C1:H4") ' присвоить переменной диапазон "шапки" таблицы
    End With

    ' цикл по ячейкам
    For Each n In Rng.Value
        If n <> "" Then ' если в ячейке есть данные
            Me.ComboBox1.AddItem n ' добавить строку в список
        End If
    Next n
End Sub

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

Понравилась статья? Поделить с друзьями:
  • Как найти какое количество теплоты получил газ
  • Знакомства или как найти вторую половинку
  • Как найти письмо по индификатору
  • Как найти температуру нагревательного элемента
  • Как найти хорошие колонки