powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос в Эксель (приведение 2 листов к одинаковому списку)
2 сообщений из 2, страница 1 из 1
Макрос в Эксель (приведение 2 листов к одинаковому списку)
    #35859133
yurgo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Товарищи знатоки: возник вопрос по созданию макроса в Эксель (VB(А) следующего характера:
задача: требуется сравнить и преобразовать посредством макроса 2 листа 1-й книги.
В каждом из 2 листов в 3 столцах содержится сходная информация (наименование улицы, № дома, корпуса). Однако абсолютно перечни не совпадают. Дабы была возможность наложить списки друг на друга (построчно объединить данные из обоих листов простым копи-пастом) требуется привести списки в Лист1 и Лист2 к единообразному виду - т.е. провести построчное сравнение, в момент обнаружения несовпадения - например в листе 1 есть строка по дому Л, а в листе 2 такой информации нет - требуется в листе 2 после последнего совпадения добавить строчку - и занести в соответствующие 3 ячейки листа 2 информацию из 3-х ячеек листа 1. В обратной ситуации - в листе 2 есть информация по дому К, а в листе 1 такой информации нет - требуется соответственно добавить после последнего совпадения строку, проведя аналогичные действия. Требуется ИМЕННО ДОБАВЛЯТЬ строки в представленных листах, а не переносить их в какой-либо 3-й лист. В случаях, когда в каком-либо листе один и тот же дом упомянут дважды (полное сопадение адреса), а в другом такого повторения нет, необходимо ТОЖЕ добавить такую строку в другой лист (а не удалять и прочее), т.к. прочая инфа по каждой строке абсолютно уникальна.

Для иллюстрации поставленной задачи - прикрепил файл-образец с 2 листами, которые оба необходимо привести к единому перечню. Там же для примера приведены 2 листа - как в теории должен выглядеть результат работы макроса.
Сам не являясь программистом, в вопросе совершенно не разбираюсь . Прошу, кто знает - помогите написать...

ПС: Вручную чувствую меня это запарит... там у меня в оригинале 17000 строк... :(( и операцию эту надо провести пару раз...
...
Рейтинг: 0 / 0
Макрос в Эксель (приведение 2 листов к одинаковому списку)
    #35861010
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurgo,
В пп. 12-13, 23-24, 26-27, у тебя ошибочно указаны одинаковые улица, дом, корпус?
Почему тебе не хочется сделать проще формулами, а заморачиваться макросами?

Могу предложить следующее (немного трудоемко, но пока народ напишет макрос, может ты уже все и сделаешь):
1. Сделать общий список улиц, адресов, корпусов.
Берем 2 списка адресов (колонки B, C, D).
Вставляем один под другой
В стобце E пишем формулу: =СЦЕПИТЬ(B2;"~";C2;"~";D2) Знак тильды ~ необходим для того, чтобы в последствии разбить список по столбцам.
Копируем столбец E -- вставляем как значения.
2. Убираем лишние данные
Данные -- фильтр -- расширенный фильтр -- отобрать уникальные данные -- скопировать в другое место -- указать место куда скопировать.
Данные -- сортировка -- отсортировать по возрастанию.
3. Восстанавливаем данные по ячейкам.
Данные -- Текст по столбцам -- знаками разделителями -- "другой" подставляем тильду ~ -- ОК.

после этого у тебя имеется список всех необходимых адресов.

Дальше ты приводишь данные из старых данных в новые
Смотри формулу в прикрепленном файле
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос в Эксель (приведение 2 листов к одинаковому списку)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]