Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сравнение таблиц состоящих из двух столбцов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сравнение таблиц состоящих из двух столбцов (Макросы/Sub)
Сравнение таблиц состоящих из двух столбцов
Ukh Дата: Пятница, 01.08.2014, 13:40 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

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

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

Выручайте друзья!
Начинал все с макроса, но он не подходит
[vba]
Код
Sub сравнение()

Dim i As Long, x As Range, Fst As String
Application.ScreenUpdating = False
Workbooks("Книга1.xls").Sheets(1).Activate
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

End Sub
[/vba]
К сообщению приложен файл: 8939968.xlsx (13.0 Kb)
 
Ответить
СообщениеЗдравствуйте умельцы! Нужна ваша помощь в решении вопроса через макрос. Excel 2013
Столько всего пересмотрел нет подходящего, а если что то подобное имеется, отсутствуют такие знания для модернизации, поэтому и обращаюсь к Вам.

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

Выручайте друзья!
Начинал все с макроса, но он не подходит
[vba]
Код
Sub сравнение()

Dim i As Long, x As Range, Fst As String
Application.ScreenUpdating = False
Workbooks("Книга1.xls").Sheets(1).Activate
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

End Sub
[/vba]

Автор - Ukh
Дата добавления - 01.08.2014 в 13:40
_Boroda_ Дата: Пятница, 01.08.2014, 13:46 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А может, Вам достаточно будет просто условного форматирования?
Посмотрите эту тему


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА может, Вам достаточно будет просто условного форматирования?
Посмотрите эту тему

Автор - _Boroda_
Дата добавления - 01.08.2014 в 13:46
Ukh Дата: Пятница, 01.08.2014, 15:06 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, совсем не то, вложение это пример, показатели могут меняться как и цифры(соответственно), поэтому необходимо именно макрос который показыает различие. вторая таблица выводиться также макросом и на нее идет ссылка сравнения(автоматизирую процесс).
В примере указал что с чем сравниваем и какой результат получаем.
 
Ответить
Сообщение_Boroda_, совсем не то, вложение это пример, показатели могут меняться как и цифры(соответственно), поэтому необходимо именно макрос который показыает различие. вторая таблица выводиться также макросом и на нее идет ссылка сравнения(автоматизирую процесс).
В примере указал что с чем сравниваем и какой результат получаем.

Автор - Ukh
Дата добавления - 01.08.2014 в 15:06
Pelena Дата: Пятница, 01.08.2014, 15:13 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
необходимо именно макрос

Почему тогда тема в этом разделе?
Перенесла.
И оформляйте коды тегами (кнопка #)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
необходимо именно макрос

Почему тогда тема в этом разделе?
Перенесла.
И оформляйте коды тегами (кнопка #)

Автор - Pelena
Дата добавления - 01.08.2014 в 15:13
Ukh Дата: Пятница, 01.08.2014, 15:51 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, не подскажешь куда перенесла, в поиске только тут моя тема
 
Ответить
СообщениеPelena, не подскажешь куда перенесла, в поиске только тут моя тема

Автор - Ukh
Дата добавления - 01.08.2014 в 15:51
Pelena Дата: Пятница, 01.08.2014, 15:56 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
В раздел ВОПРОСЫ ПО VBA


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВ раздел ВОПРОСЫ ПО VBA

Автор - Pelena
Дата добавления - 01.08.2014 в 15:56
nilem Дата: Пятница, 01.08.2014, 18:19 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
разве что как-то вот так:
[vba]
Код
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
[/vba]
[offtop]"обробатываемый" - от слова "робить"? :)[/offtop]


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Пятница, 01.08.2014, 18:24
 
Ответить
Сообщениеразве что как-то вот так:
[vba]
Код
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
[/vba]
[offtop]"обробатываемый" - от слова "робить"? :)[/offtop]

Автор - nilem
Дата добавления - 01.08.2014 в 18:19
Ukh Дата: Понедельник, 04.08.2014, 14:31 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, Cпасибо огромное!!! быстро и идеально!!
 
Ответить
Сообщениеnilem, Cпасибо огромное!!! быстро и идеально!!

Автор - Ukh
Дата добавления - 04.08.2014 в 14:31
Ukh Дата: Понедельник, 04.08.2014, 17:55 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, не подскажешь, если количество строк больше, он нашел первые два значения, остальные не обработал после того как остановился на отсутствующих значениях, как исправить?
 
Ответить
Сообщениеnilem, не подскажешь, если количество строк больше, он нашел первые два значения, остальные не обработал после того как остановился на отсутствующих значениях, как исправить?

Автор - Ukh
Дата добавления - 04.08.2014 в 17:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сравнение таблиц состоящих из двух столбцов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!