28.04.2016, 14:08
(Dieser Beitrag wurde zuletzt bearbeitet: 28.04.2016, 14:30 von Rabe.
Bearbeitungsgrund: Gruß aus Code nach außen
)
Hallo Sandra,
hier ist der Code der zwei weitgehend identische Workbooks vergleicht.
Der Code sollte in ein leeres Workbook, die Pfade und Dateinamen müssen angepasst werden.
(an einem Mini-Nachbau getestet, es wird eine Art Protokoll in diesem Makro-Workbook angelegt)
mfg
hier ist der Code der zwei weitgehend identische Workbooks vergleicht.
Der Code sollte in ein leeres Workbook, die Pfade und Dateinamen müssen angepasst werden.
(an einem Mini-Nachbau getestet, es wird eine Art Protokoll in diesem Makro-Workbook angelegt)
Code:
Sub Dateivergleich()
Dim WBO As Workbook 'Original
Dim WBB As Workbook 'Backup
Dim r1 As Range, r2 As Range
Set WBO = Workbooks.Open("c:\temp\daten\w1.xlsx") '<<<<<<<<<< anpassen
Set WBB = Workbooks.Open("c:\temp\daten\w2.xlsx") '<<<<<<<<<< anpassen
For n = 1 To WBO.Sheets.Count
Set r1 = WBO.Sheets(n).Range("A1").SpecialCells(11) ' last cell
Set r2 = WBB.Sheets(n).Range("A1").SpecialCells(11) ' last cell
lr = WorksheetFunction.Max(r1.Row, r2.Row)
ls = WorksheetFunction.Max(r1.Column, r2.Column)
For i = 1 To lr
For j = 1 To ls
If WBO.Sheets(n).Cells(i, j) <> WBB.Sheets(n).Cells(i, j) Then
k = k + 1
WBO.Sheets(n).Cells(i, j).Interior.Color = vbYellow
WBB.Sheets(n).Cells(i, j).Interior.Color = vbYellow
ThisWorkbook.Sheets(1).Cells(k, "A") = i & ", " & j 'Protokoll im Makro-Sheet
End If
Next j
Next i
Next n
WBO.Close 0
WBB.Close 0
End Sub
mfg