Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
26th
Фев
Сравнение файлов в Excel
Posted by obzor under VBA
Необходимо сравнить два файла excel:
В первом файле представлена отчетность за 4 месяца(файл общий свод).
Во втором файле данные только за один месяц(файл апрель).
Вот вопрос как проверить, все ли данные из файла апрель, есть в файле общий свод?
Ручками:
- В «общем» фильтруешь апрель.
- Сортируешь.
- Вставляешь рядом колонку, так же отсортированную, из файла «апрель».
- Глазками сверяешь. Несовпадения видны легко.
- Если данных много, то в третью колонку делаешь формулу сравнения двух других. Например для C7 будет «=A7=B7».
- В условной колонке C:C ищешь или фильтруешь на значение «ЛОЖЬ» — это значит апрельские данные разнятся.
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
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)