Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Объединить ячейки в одном столбце

Ответить
Настройки темы
VBA - Объединить ячейки в одном столбце

Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


В общем надо объединить ячейки в одном столбце, при условии что ячейки в другом столбце одинаковые.
То есть если содержимое столбца 1 повторяется от строки к строке, то в столбце 2 объединяем.
За основу брал такой код
Код: Выделить весь код
Sub MergeCls()
  r1 = 1
  r2 = 1
  Do
    If Cells(r1, 1) <> Cells(r2 + 1, 1) Then
      If r1 <> r2 Then
        Range(Cells(r1 + 1, 1), Cells(r2, 1)).ClearContents
        Range(Cells(r1, 1), Cells(r2, 1)).MergeCells = True
      End If
      r1 = r2 + 1
    End If
    r2 = r2 + 1
  Loop Until Cells(r2, 1) = ""
End Sub
Но что то у меня не получилось его переделать.

-------
Забудем боль, забудем страх -
И только ветер в парусах!


Отправлено: 15:34, 30-08-2017

 

Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата Iska:
Цитата blackeangel:
Пример вызова функции какой то такой
Функция(1,5,7,9,12,3) »
Что это должно означать?

Цитата blackeangel:
Если подается нулевое значение, значит столбец пропускаем. »
Куда? Пример «подачи».
Цитата blackeangel:
необходима функция, котороя обьединяла бы любые ячейки в столбцах в указанном порядке. Пример вызова функции какой то такой
Функция(1,5,7,9,12,3)
Если подается нулевое значение, значит столбец пропускаем.
И ещё один момент, объединенять ячейки надо только с повторяющимися значениями.
это все одно целое.
Единственное, что здесь можно пояснить, это то что цифры это номера столбцов.Где первый столбец - опорный(в текущих книгах он был первым), по нему проходит цикл и по нему объединять надо в последнюю очередь. Остальные цифры это тоже столбцы, но уже не опорные.

Последний раз редактировалось blackeangel, 02-09-2017 в 15:26.


Отправлено: 15:20, 02-09-2017 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата blackeangel:
Единственное, что здесь можно пояснить, »
Поясните:
Цитата blackeangel:
Если подается нулевое значение, значит столбец пропускаем. »
Как будет выглядеть вызов функции?

Цитата blackeangel:
Где первый столбец - опорный(в текущих книгах он был первым), »
Опорный всегда будет первым столбцом на Рабочем листе?

Отправлено: 00:18, 03-09-2017 | #12


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Iska,
1. Функция(1,5,7,0,12,3)
2. Нет, но вызове функции стоять первым
Как то так
Функция(опорный As Integer, неопорные As Variant)

Отправлено: 10:01, 03-09-2017 | #13


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата blackeangel:
1. Функция(1,5,7,0,12,3) »
Что это должно означать? Распишите подробно именно данный пример: «1 — это …, 5 — это …».

Отправлено: 10:32, 03-09-2017 | #14


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата Iska:
Цитата blackeangel:
1. Функция(1,5,7,0,12,3) »
Что это должно означать? Распишите подробно именно данный пример: «1 — это …, 5 — это …».
1 - столбец А(и он опорный в этом примере), 5 - столбец Е, 7 - столбец G, 3 - столбец С, 12 - столбец L.
Если 0, то понятно что этого столбца не существует и его следует пропустить. Так же опорный столбец не может быть 0.

Отправлено: 12:02, 03-09-2017 | #15


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата blackeangel:
Если 0, то понятно что этого столбца не существует и его следует пропустить. »
blackeangel, хоть убейте — не могу понять, зачем вообще надо указывать столбец, который не существует? Почему не просто «Функция(1,5,7,12,3)»?

Отправлено: 12:29, 03-09-2017 | #16


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата Iska:
Цитата blackeangel:
Если 0, то понятно что этого столбца не существует и его следует пропустить. »
blackeangel, хоть убейте — не могу понять, зачем вообще надо указывать столбец, который не существует? Почему не просто «Функция(1,5,7,12,3)»?
На всякий случай, тк номера столбцов будут находиться по имени столбца. Хотя ладно, можно и без этого, сделаю проверку на ошибку.

Отправлено: 13:20, 03-09-2017 | #17



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Объединить ячейки в одном столбце

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2010 - [решено] Поиск фразы в столбце и создание записи в соседнем столбце blackeangel Microsoft Office (Word, Excel, Outlook и т.д.) 11 22-12-2015 15:54
2007 - [решено] Excel получение предыдущей непустой ячейки в столбце eus_deus Microsoft Office (Word, Excel, Outlook и т.д.) 4 06-12-2015 09:17
CMD/BAT - [решено] awk замена текста во втором столбце shmel_sv@vk Скриптовые языки администрирования Windows 9 14-09-2015 14:16
Sharepoint - Пробелы в числовом столбце AxeL_FoX Другие серверные продукты 0 02-06-2010 21:31
Интерфейс - Не выводится информация в столбце “Размеры” CompFan Microsoft Windows 2000/XP 1 15-02-2008 01:00




 
Переход