Объединение ячеек в Microsoft Excel 2010

компьютеры программы excel microsoft таблицы

Здравствуйте!
Требуется помощь по объединению ячеек:
1. Имеется таблица - 20 столбцов, 1000 строк.
2. В таблице в одном из столбцов (не первый и не последний) в каждой строке имеются данные.
3. В остальных столбцах указаны характеристики для каждой позиции из числа этих данных.
Выглядит приблизительно так:
1 ВАЗ 2109 валит
2108
2107
2 ГАЗ 21 не валит
23 валит
3 УАЗ 12 полицейский
15
18
2021 медицинский
2232
2442
Как видите, в указанном примере 4 столбца и 11 строк. В столбце 3 - уникальные значения, а в остальных - их характеристики. В таблице имеются пустые ячейки (например, как в 1 столбце в 2 строке, или во 2 столбце 5 строке). Назовем столбцы буквами латинского алфавита, а строки - арабскими цифрами.
Необходимо: объединить по столбцам пустые ячейки с ячейками выше, имеющими значение. Чтобы получилось:
2109
1 ВАЗ 2108 валит
2107

2 ГАЗ 21 не валит
23 валит

12
15 полицейский
3 УАЗ 18
2021
2232 медицинский
2442
Таким образом, ячейки А2 и А3 объединились между собой и с ячейкой А1, полученная объединенная ячейка приняла значение ячейки А1. Ячейки D6, D7 и D8 объединились между собой, полученная ячейка получила значение D6.
Так вот, мне нужно проделать такую же операцию, но применимо к своей таблице, которая большая и содержит тысячу наименований.
Как сделать это быстро, не объединяя ячейки вручную?
Ответы:
макрос писать
Код макроса
Sub Macros()
Dim i As Long, j As Long, iRow As Long
Application.DisplayAlerts = False
Set myRange = Worksheets("Лист1").Range("A1").CurrentRegion
For j = 1 To 4 ' 4 - это количество столбцов
iRow = myRange.Item(myRange.Count).Row
For i = myRange.Item(myRange.Count).Row To 1 Step -1
If Cells(i, j) <> "" Then
   Range(Cells(i, j), Cells(iRow, j)).MergeCells = True
   Range(Cells(i, j), Cells(iRow, j)).VerticalAlignment = xlCenter
   iRow = i - 1
End If
Next i
Next j
Application.DisplayAlerts = True
End Sub
Особенности макроса. Для правильной обработки ячеек, пустые ячейки должны быть действительно пустыми, т.е. не содержать пробелов или невидимых символов.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

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

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.