Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 4
1

Сравнение двух диапазонов на несовпадение

29.06.2016, 17:59. Показов 1516. Ответов 6

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста, как организовать поиск на несовпадение?
На первом листе таблицу надо сравнить с таблицей на втором листе. Если найдены несовпадения, добавить не совпавшее значение в таблицу на первом листе.
То есть если во второй таблице находится такое значение, которого нет в первой, необходимо добавить его в первую таблицу.

У меня как-то криво все вышло =(
Вложения
Тип файла: rar П3.rar (18.5 Кб, 13 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2016, 17:59
Ответы с готовыми решениями:

Сравнение двух диапазонов по последней строке
Здравствуйте, Проблема такова. Необходимо сравнить значения в последних строках двух диапазонов,...

Сравнение двух диапазонов ячеек на совпадение
Здравствуйте! Подскажите пожалуйста... Имеется 2 диапазона ячеек А1:A3 и C1:C3, в которых забиты...

Сравнение двух диапазонов и вывод различий на другой лист
Добрый день уважаемые форумчане! Нашёл в инете такой вот код: Option Explicit Sub...

Сравнение двух диапазонов на идентичность без анализа отдельных ячеек
Здравствуйте! Подскажите, как сравнить два диапазона на результат ЛОЖЬ или ИСТИНА (в коде 10-я...

6
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
29.06.2016, 20:04 2
Добавить всё и затем удалить дубликаты чем не вариант?
Тем более что Ваш монстр работает криво - добавляет и добавляет...
0
oh my god
1454 / 793 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
29.06.2016, 20:24 3
Мой вариант: (в вариант от Gorr98, было тяжело смотреть ..)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub Сравнение()
    Dim r1 As Range, r2 As Range, v, w, i&
    With Sheets(1)
        Set r1 = .Range(.Cells(1, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 1))
    End With
    With Sheets(2)
        Set r2 = .Range(.Cells(1, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 1))
    End With
 
    For Each v In r1
        For Each w In r2
            If v = w Then GoTo 1
        Next
        i = i + 1: Sheets(1).Cells(i, 3) = v
1
    Next
    MsgBox (Choose(Sgn(i) + 1, "Всё совпало", "Имеются различия смотрите колонку [C]"))
End Sub
Добавлено через 5 минут
Цитата Сообщение от Hugo121 Посмотреть сообщение
Тем более что Ваш монстр работает криво - добавляет и добавляет...
Похоже он выложил заведомо кривой вариант с уже добавленными числами на листе, если как он хочет
то всё совпадёт

Сравниваем второй лист с первым наоборот:
Visual Basic
1
2
3
4
5
6
7
    For Each v In r2
        For Each w In r1
            If v = w Then GoTo 1
        Next
        i = i + 1: Sheets(1).Cells(i, 3) = v
1
    Next
На всякий случай, новые значения у меня пишутся в другую колонку
0
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 25
29.06.2016, 21:12 4
Извиняюсь, что не по теме.
fever brain, проверьте почту
0
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
29.06.2016, 21:16 5
Я сделал как написал - сложил и удалил. И затем выполнил код - и он дописал ниже данные, которые уже есть выше.
Почему так - не знаю, в код не вникал - испугался...

P.S. Я обычно такое решаю через словарь, и используя массивы - но на небольшом количестве можно и циклы гонять, зато просто и красиво
0
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 4
30.06.2016, 00:23  [ТС] 6
Спасибо, господа!
Я, как многие обращающиеся к вам, новичок, и леплю пока все без разбора, а потом пугаюсь.

Да, мой монстр и добавлял все подряд и сообщения на каждую строку писал, вот я и не знал, куда тыкаться)
0
fever brain
30.06.2016, 05:15     Сравнение двух диапазонов на несовпадение
  #7

Не по теме:

Цитата Сообщение от IgorTS Посмотреть сообщение
Извиняюсь, что не по теме.
fever brain, проверьте почту
Увидел

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2016, 05:15

Сравнение диапазонов
Ребят, в коде разбираться не будите, сам запутался, объясню что надо: умная таблица с вертикальным...

Сравнение диапазонов ячеек
Здравствуйте! Простая задача сравнить два диапазона ячеек(A1:A3 и C1:C5), если в одном диапазоне...

Сравнение диапазонов на НЕ полное совпадение
Здравствуйте! Мне требуется помощь в сравнении двух диапазонов. Находятся диапазоны на...

Сравнение диапазонов и заливка совпавших записей
Проблема в следующем: На листе1 книги имеется несколько блоков с данными (Дата, фамилия, и...

Сравнение множеств диапазонов критериев с диапазоном данных
Здравствуйте, уважаемые знатоки VBA! Помогите плз. В файле есть таблица "А1 : D17" она имеет...

Сравнение двух диапазонов значений на перекрытие
Приветствую всех! Недавно столкнулся с интересной практической задачей и быстро понял, в ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru