Как объединить ячейки в excel с помощью кода vba

В VBA есть метод «MERGE», который можно использовать для объединения диапазона ячеек или даже нескольких диапазонов в один. Этот метод имеет аргумент «Across», который не является обязательным. Если вы укажете TRUE, каждая строка в диапазоне будет объединена отдельно, а если вы укажете FALSE, она объединит весь диапазон в одну.

объединить и разгруппировать ячейки с помощью VBA

Шаги по использованию VBA для объединения ячеек:

  1. Во-первых, вам нужно определить диапазон ячеек, которые вы хотите объединить.
    define-the-range-of-a-cell-want-to-merge
  2. После этого введите точку (.), чтобы получить список свойств и методов, и выберите «Объединить» из этого списка или введите его напрямую.
    type-a-dot-to-get-the-list-of-properties
  3. После этого вам нужно установить аргумент «Поперек» в значение ИСТИНА или ЛОЖЬ.
    define-the-argument-across
  4. В конце запустите этот код, чтобы объединить диапазон.

Вот код.

 Range("A1:A2").Merge False

А если вы хотите объединить строки по всему диапазону, вы можете использовать TRUE для аргумента «поперек».

введите true, если вы хотите объединить диапазон
 Selection.Merge Across:=True

В приведенном выше коде вы выбрали диапазон, метод слияния и значение true. И он объединил все строки в выбранном диапазоне.

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

 Worksheets("Sheet1").Range("A1:A2").Merge

Аналогичным образом вы также можете обратиться к книге, указав имя книги.

 Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1:A2").Merge

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

Теперь, когда вы объединяете две или более ячеек, вам необходимо выровнять содержимое ячейки. Посмотрите на снимок ниже, где вы объединили ячейки A1 и A2, а значения в ячейках выровнены по нижнему краю. Чтобы решить эту проблему, вы можете использовать свойство выравнивания и выровнять содержимое ячейки по центру и середине, чтобы его было легко читать.

объединить диапазон и выровнять содержимое ячеек
 With Range("A1:A2") .Merge .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With

Объединить текст, а затем объединить

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

объединить-проверить-слить
  1. В первой части у вас есть переменные, которые можно использовать для хранения значений диапазона и их установки.
  2. Во второй части у вас есть LOOP для объединения значений каждой ячейки для создания новой строки.
  3. В третьей части объедините диапазон, добавьте объединенную строку, примените перенос слов и выровняйте содержимое ячейки.

Вот полный код.

 Sub vba_merge_with_values() Dim val As String Dim rng As Range Set rng = Range("A1:A10") For Each Cell In rng val = val & " " & Cell.Value Next Cell With rng .Merge .Value = Trim(val) .WrapText = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With End Sub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *