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

Сравнение двух книг с записью разницы значений в третью книгу

17.11.2016, 21:12. Показов 1978. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. С VBA познакомился неделю назад, и поэтому следующая задача оказалась для меня трудноватой. Итак: существует файл 11112.xlsx , в котором находится , допустим, 4 столбца с заголовками и значениями, и существует файл 22222.xlsx , в котором так же 4 столбца, но заголовки со значениями расположены в другом порядке. К тому же неизвестно с какой ячейки начинается таблица. Нужно Сравнить 2 файла и вывести в итоговый файл.xlsx разницу между соответствующими ячейками и выделить цветом ячейки. Уже неделю голову ломаю, но так нечего в голову не приходит. Заранее благодарен. Приложу эти 2 файла как пример
Вложения
Тип файла: xlsx 11111.xlsx (8.3 Кб, 11 просмотров)
Тип файла: xlsx 22222.xlsx (8.4 Кб, 11 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2016, 21:12
Ответы с готовыми решениями:

Сравнение 2 книг в Excel и копирование дублей в третью книгу
Доброго всем времени суток, нужна помощь!!!! Имеются 2 книги в Excel в которых необходимо сравнить...

Сравнение 2 книг в Excel и копирование найденых пар в третью книгу / VBA
Доброго всем времени суток!!!! Обращаюсь ко всем за помощью... Есть 2 книги в Excel (в примере по...

Сравнение двух таблиц с записью разницы в первую VBA
Прошу помощи! Две таблицы (для удобства можете разбить на два файла или же запихнуть обе на...

Сравнение 2-х Книг по первому столбцу и вывод совпавших значений( всю строку) в 3-ю книгу
Всем Добрый день! Помогите пожалуйста с формулой или может здесь макрос нужен!? Имеется. 1 книга....

11
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
17.11.2016, 21:18 2
А если в третьем файле просто сделать ссылку на второй файл в отдельном листе и по ВПР сделать расчет? Зачем именно VBA?
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
17.11.2016, 21:32 3
Откройте файл 33333 и при обновлении укажите свой путь к файлам (измените связь). Смотрите на листе Sheet1 формулы.
Вложения
Тип файла: 7z 33333.7z (17.4 Кб, 11 просмотров)
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
17.11.2016, 21:35 4
А по какому критерию вам нужно расскрасить ячейки? Условное форматирование вам не подходит?
0
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 12
17.11.2016, 21:53  [ТС] 5
я скорее всего не так объяснил. в файле 11111 столбец "вес" может находиться не после столбца "имя" , а , допустим, в самом конце

имен может быть около 25000, если не больше. а раскрасить нужно так

QBasic/QuickBASIC
1
2
3
 Range("d" & r).Interior.ColorIndex = 10
        IF Range("d" & r) < ThisWorkbook.Worksheets(1).Cells(2, 6) AND Range("d" & r) > ThisWorkbook.Worksheets(1).Cells(2, 7) THEN Range("d" & r).Interior.ColorIndex = 6
        IF Range("d" & r) > ThisWorkbook.Worksheets(1).Cells(2, 6) THEN Range("d" & r).Interior.ColorIndex = 3
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
17.11.2016, 22:06 6
Аааа. Тогда VBA Тоесть столбец "вес" в каждом файле может быть в разном месте, я так понял?
0
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 12
17.11.2016, 22:44  [ТС] 7
не только этот столбец. любой из. и этих столбцов может быть больше. но мне нужен код, который бы находил начало таблицы во втором файле, брал название первого столбца из первого файла , искал такое же название во втором , и так далее. Найти начало таблица у меня уже получилось, а вот дальше как - я даже представить не могу
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
17.11.2016, 23:04 8
Я завтра набросаю малость по вашему вопросу, сегодня нет времени. Вот часть кода для поиска значения в диапазоне, может как то по своему примудрите.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub Поиск()
Dim iskomoe As String
Dim c As Range
Dim a As Integer
iskomoe = Range("C23").Value
   a = 2
On Error Resume Next
1     Cells(2, a).Select
'Поиск значения ряда
Set c = Range("F2:S2").Find(iskomoe, , , xlWhole)
If Not c Is Nothing Then c.Select
'ваши действия
     Else
  a = a + 1
  GoTo 1
End If
End Sub
1
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 12
18.11.2016, 01:01  [ТС] 9
было бы очень хорошо, если у вас получится мне помочь)
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
18.11.2016, 18:38 10
Строго не судите. Вот что получилось. Я не гуру в VBA, я только учусь. Я уверен можно как то по другому, но сделал как сделал. Расскрашивание не делал, сами как то думаю пропишете. Открываем файл итог.xlsm, Нажимаем кнопочку и...
Вложения
Тип файла: 7z два файла с поиском.7z (28.1 Кб, 29 просмотров)
0
280 / 136 / 23
Регистрация: 08.01.2014
Сообщений: 635
18.11.2016, 19:20 11
Лучший ответ Сообщение было отмечено danilqa как решение

Решение

Есть пару но:
1) Если в таблице файла 22222, есть пустая ячейка, то в итоге пропишет пустую (в ячейках должен быть ноль или число).
2) Наименования в первом столбце обеих таблиц, должны быть одинаковыми (порядок может быть разным), если названия разные, нужно делать еще условие.
1
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 12
19.11.2016, 08:52  [ТС] 12
огромнейшее спасибо) выручили
0
19.11.2016, 08:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2016, 08:52
Помогаю со студенческими работами здесь

Сравнение 2-х Книг по первому столбцу и вывод совпавших значений( всю строку) в 3-ю книгу - MS Excel
Всем Добрый день! Помогите пожалуйста с формулой или может здесь макрос нужен!? Имеется. 1 книга....

Сравнение значений двух книг
Здравствуйте. Имеется два списка (в аттаче) требуется: сравнить значения из колонки Штрихкод, при...

Сравнение двух колонок в разных книгах и вывод несовпадающих значений в отдельную книгу
Доброго времени суток! Очень нужна помощь. Есть 2 книги с данными. В одной книге AT LV колонка B...

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


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

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