|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.03.2010, 07:32 | #1 | |
Новичок
Джуниор
Регистрация: 03.03.2010
Сообщений: 3
|
Сравнение двух файлов Excel (поячеечно) для выявления отличий
Здравствуйте, уважаемые гуру!
Есть такая интересная задача - сравнить два файла Excel. Нужно, чтобы макрос спрашивал с какой строки сравнивать, так как до шапки может идти ненужный текст. И несовпадающие (соответствующие!!!) ячейки закрасить в какой-нить цвет! Всем буду очень признателен за ответ! --------- примечание модератора - вдруг кому пригодится -------------- Цитата:
Последний раз редактировалось EducatedFool; 30.09.2013 в 09:36. |
|
04.03.2010, 14:52 | #2 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Это не сложно!
Но если Вы заметили, в Ваших двух файлах таблицы начинаются со 2-ой строки и с 4-ой. Это надо учитывать? Искать несоответствие надо только в области таблиц? Ладно, неважно. Вот пример: Код:
Последний раз редактировалось Maxx; 04.03.2010 в 17:55. |
05.03.2010, 07:05 | #3 |
Новичок
Джуниор
Регистрация: 03.03.2010
Сообщений: 3
|
to MAXX Спасибо большое за ответ!)
Вы мне очень помогли!!!))) Я подправил макрос под свою задачу и вот что получилось: Sub CompareBooks() Dim myName As String, wB As Workbook With Application.FileDialog(msoFileDialo gFilePicker) .Title = "Выберите ПЕРВЫЙ файл для сравнения" .Show If .SelectedItems.Count = 0 Then Exit Sub myName = .SelectedItems(1) End With Application.ScreenUpdating = False Workbooks.Open Filename:=myName: Set wB = Workbooks(ActiveWorkbook.Name) Dim myName1 As String, wB1 As Workbook With Application.FileDialog(msoFileDialo gFilePicker) .Title = "Выберите ВТОРОЙ файл для сравнения" .Show If .SelectedItems.Count = 0 Then Exit Sub myName1 = .SelectedItems(1) End With Application.ScreenUpdating = False Workbooks.Open Filename:=myName1: Set wB1 = Workbooks(ActiveWorkbook.Name) Windows(wB1.Name).Activate: ActiveSheet.Unprotect numRowProv = InputBox("Укажите номер строки, с которой необходимо начать сравнение В ПЕРВОМ файле:", "Номер строки") numRow = InputBox("Укажите номер строки, с которой необходимо начать сравнение ВО ВТОРОМ файле:", "Номер строки") numCol = Cells.SpecialCells(xlLastCell).Colu mn - 1 If numRow >= numRowProv Then Razn = numRow - numRowProv For i = numRow To Cells(Rows.Count, 1).End(xlUp).Row iprov = i - Razn For y = 1 To numCol If wB1.Sheets("Лист1").Cells(i, y) <> wB.Sheets("Лист1").Cells(iprov, y) Then wB1.Sheets("Лист1").Cells(i, y).Interior.Color = 255 End If Next Next End If If numRow < numRowProv Then Razn = numRowProv - numRow For i = numRow To Cells(Rows.Count, 1).End(xlUp).Row iprov = i + Razn For y = 1 To numCol If wB1.Sheets("Лист1").Cells(i, y) <> wB.Sheets("Лист1").Cells(iprov, y) Then wB1.Sheets("Лист1").Cells(i, y).Interior.Color = 255 End If Next Next End If ActiveSheet.Protect: Application.ScreenUpdating = True End Sub Последний раз редактировалось IEEE; 05.03.2010 в 09:33. |
05.03.2010, 09:40 | #4 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Вот:
Код:
|
05.03.2010, 10:31 | #5 |
Новичок
Джуниор
Регистрация: 03.03.2010
Сообщений: 3
|
to MAXX Спасибо большое!!! Вы мне очень помогли!!!
Да с помощью функции abs все выглядит красивее))) |
06.04.2010, 00:10 | #6 |
Новичок
Джуниор
Регистрация: 05.04.2010
Сообщений: 1
|
Та же проблема((((
Я вот прочитал ваш форум, вроде бы все легко и понятно, но у меня что не получается, постоянно выдает ошибку, хотя строки и столбцы выставил соответсвенно, не могли бы вы мне помочь?? за ранее огромное спасибо
Последний раз редактировалось star1444; 06.04.2010 в 00:16. |
06.04.2010, 13:35 | #7 | |||
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Цитата:
Цитата:
Цитата:
|
|||
20.04.2010, 19:12 | #8 |
Новичок
Джуниор
Регистрация: 20.04.2010
Сообщений: 2
|
А как сравнить такие 2 а файла?
Они почти одинаковые.
|
21.04.2010, 15:45 | #9 |
Новичок
Джуниор
Регистрация: 14.04.2010
Сообщений: 2
|
Всем добрый день!
Подскажите макрос для подсвечивания совпадений в столбце А по жестко определенному списку номеров. Например, этот список от 1 до 10, следовательно если в столбце А книги есть совпадения номеров от 1 до 10, эти номера должны подсветиться цветом. И желательно, чтоб выполнение макроса распрастронялось только на выделенные строки в книге до его выполнения. Т. е. выделяю диапозон строк нужный мне, нажимаю выполнить макрос и в этом диапазоне подсвечиваются все совпадения заложенные в списке макроса. Заранее всем спасибо. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сверить между собой данные двух файлов excel? | Vadim_abs | Microsoft Office Excel | 8 | 10.11.2009 13:04 |
макрос для склеивание двух текстовых файлов | zenner | Microsoft Office Word | 1 | 09.10.2009 14:16 |
сравнение двух фаилов | al508 | Microsoft Office Excel | 4 | 24.06.2009 07:55 |
сравнение данных в двух столбцах в Excel 2003 | grinders | Microsoft Office Excel | 4 | 25.11.2008 16:58 |
Сравнение данных из двух книг Excel 2003 | ast1r | Microsoft Office Excel | 2 | 24.11.2008 21:39 |