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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2023, 11:46   #1
Rudysays
Новичок
Джуниор
 
Регистрация: 10.02.2023
Сообщений: 3
По умолчанию Сравнение файлов excel

Доброго дня всем!
Может кто-то сталкивался или задавался таким вопросом.
Необходимо сравнить два файла excel:
В первом файле представлена отчетность за 4 месяца(файл общий свод).
Во втором файле данные только за один месяц(файл апрель).
Вот вопрос как проверить, все ли данные из файла апрель, есть в файле общий свод?
Rudysays вне форума Ответить с цитированием
Старый 15.02.2023, 12:17   #2
jillitil
Форумчанин
 
Аватар для jillitil
 
Регистрация: 17.10.2018
Сообщений: 184
Сообщение

Ручками:
  • В "общем" фильтруешь апрель.
  • Сортируешь.
  • Вставляешь рядом колонку, так же отсортированную, из файла "апрель".
  • Глазками сверяешь. Несовпадения видны легко.
  • Если данных много, то в третью колонку делаешь формулу сравнения двух других. Например для C7 будет "=A7=B7".
  • В условной колонке C:C ищешь или фильтруешь на значение "ЛОЖЬ" — это значит апрельские данные разнятся.
jillitil вне форума Ответить с цитированием
Старый 15.02.2023, 12:34   #3
Rudysays
Новичок
Джуниор
 
Регистрация: 10.02.2023
Сообщений: 3
По умолчанию

Юмор понимаю, но это я привел пример для быстрого понимания. Я вообщем есть макрос, который сравнивает два файла и выделяет не одинаковые ячейки, но он работает строго по ячейкам, а тут суть в том чтобы прогнать на ошибки. Если у меня в первом файле инфа за 4 месяца, а мне сравнить надо только с одним месяцем.
Rudysays вне форума Ответить с цитированием
Старый 15.02.2023, 13:08   #4
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от Rudysays Посмотреть сообщение
...как проверить, все ли данные из файла апрель, есть в файле общий свод?
Можно формулами или макросом

Цитата:
Сообщение от Rudysays Посмотреть сообщение
...я привел пример...
Пример Вы не приводили
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 15.02.2023, 14:55   #5
Rudysays
Новичок
Джуниор
 
Регистрация: 10.02.2023
Сообщений: 3
По умолчанию Пример макроса для сравнения файлов

Цитата:
Сообщение от Serge 007 Посмотреть сообщение
Можно формулами или макросом

Пример Вы не приводили
Код:
Sub CompareBooks()
Dim myName As String, wB As Workbook
        With Application.FileDialog(msoFileDialogFilePicker)
            .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(msoFileDialogFilePicker)
            .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).Column - 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 = 200
            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

Последний раз редактировалось BDA; 15.02.2023 в 17:20. Причина: добавил тег
Rudysays вне форума Ответить с цитированием
Старый 15.02.2023, 15:42   #6
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Rudysays, для оформления кода используйте соответствующие теги
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение файлов excel Drushchyts Microsoft Office Excel 3 28.11.2019 22:56
Сравнение двух столбцов Excel и вывод на другой лист общих значений - MS Excel MupoH4uk1989 Microsoft Office Excel 2 09.04.2018 07:48
Сравнение двух файлов Excel с выводом результата на третий файл Elselost Microsoft Office Excel 14 25.02.2015 17:22
Сравнение файлов Excel на изменения Yai Microsoft Office Excel 12 10.01.2013 20:36
Сравнение двух файлов Excel (поячеечно) для выявления отличий IEEE Microsoft Office Excel 8 21.04.2010 15:45