Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2014, 16:03   #1
Ukhanev
Пользователь
 
Регистрация: 23.07.2014
Сообщений: 12
По умолчанию Сравнение таблиц состоящих из двух столбцов

Здравствуйте умельцы! Нужна ваша помощь в решении вопроса через макрос. Excel 2013
Столько всего пересмотрел нет подходящего, а если что то подобное имеется, отсутствуют такие знания для модернизации, поэтому и обращаюсь к Вам.

Имеется Книга 1 (Лист "Сравнение"), состоящая из двух столбцов, она постоянная и находится всегда на одном и том же листе.
Вторая таблица, которую надо сравнить с первой, выводится на новый лист в данной книге (Лист N);
Необходимо сравнить в таком ключе: Сравниваем постоянную таблицу по первому столбцу по строчно с выводимой, если первый столбец схожий, то проверяем второй столбец и так до конца;
Данные расхождения выводить на новый лист: сначало данные листа "Сравнение" и через столбец данные листа N.

Выручайте друзья!
Начинал все с макроса, но он не подходит

Dim i As Long, x As Range, Fst As String
Application.ScreenUpdating = False
Workbooks("Книга1.xls").Sheets(1).A ctivate
With Workbooks("Книга2.xls").Sheets(1)
Columns("A").Interior.ColorIndex = xlNone
.Columns("A").Interior.ColorIndex = xlNone
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Set x = .Columns("A").Find(what:=Cells(i, "A"), LookAt:=xlWhole)
If Not x Is Nothing Then
Cells(i, "A").Interior.ColorIndex = 6
Fst = x.Address
Do
.Cells(x.Row, "A").Interior.ColorIndex = 6
Set x = .Columns("A").FindNext(x)
Loop While Fst <> x.Address
End If
Next
End With
Вложения
Тип файла: rar Книга3.rar (10.9 Кб, 14 просмотров)
Ukhanev вне форума Ответить с цитированием
Старый 04.08.2014, 14:32   #2
Ukhanev
Пользователь
 
Регистрация: 23.07.2014
Сообщений: 12
По умолчанию

Решение найдено:
Sub ertert()
Dim rSr As Range, rObr As Range, i As Long
With Sheets("сравнение")
Set rSr = .Range("A1:B" & .Cells(Rows.Count, 1).End(xlUp).Row)
End With
With Sheets("Лист2")
Set rObr = .Range("A1:B" & .Cells(Rows.Count, 1).End(xlUp).Row)
End With
With Sheets("Должно быть")
For i = 1 To rSr.Rows.Count
If Trim(rSr(i, 1)) & Round(rSr(i, 2), 0) <> Trim(rObr(i, 1)) & Round(rObr(i, 2), 0) Then _
.Cells(Rows.Count, 1).End(xlUp)(2, 1).Resize(, 5).Value = _
Array(rSr(i, 1), rSr(i, 2), "", rObr(i, 1), rObr(i, 2))
Next i
End With
End Sub
Ukhanev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение двух столбцов в разных книгах LAnLorD Microsoft Office Excel 132 17.05.2022 08:16
Сравнение двух столбцов Oleg324 Microsoft Office Excel 3 15.03.2014 11:33
Сравнение столбцов двух таблиц и копирование значений из одной в другую. cxx Microsoft Office Excel 2 10.02.2014 13:59
сравнение двух столбцов с повторяющимися элемент niydiyin Microsoft Office Excel 7 06.04.2012 21:29
Сравнение двух столбцов mGm Microsoft Office Excel 1 15.02.2012 21:39