welche Möglichkeiten habe ich, zwei Range-Objekte zu vergleichen? Dabei
kommt es mir nicht auf den Vergleich Zelle für Zelle an, sondern ich
benötige nur eine pauschale Aussage, ob die beiden Bereiche gleich sind.
Gibt es hierfür eine Art ToString- oder Hash-Funktion?
Hintergrund: Ich muss zwei Excel-Mappen vergleichen und wollte im ersten
Schritt feststellen, ob die Überschriftenblöcke (z.Zt. 7 Zeilen mit 24
Spalten) sich nicht geändert haben.
Vielen Dank für alle Hinweise,
Stefan
> welche Möglichkeiten habe ich, zwei Range-Objekte zu vergleichen? Dabei
> kommt es mir nicht auf den Vergleich Zelle für Zelle an, sondern ich
> benötige nur eine pauschale Aussage, ob die beiden Bereiche gleich sind.
Es gibt nur den direkten Vergleich, also Zelle für Zelle.
> Gibt es hierfür eine Art ToString- oder Hash-Funktion?
Nein.
> Hintergrund: Ich muss zwei Excel-Mappen vergleichen und wollte im ersten
> Schritt feststellen, ob die Überschriftenblöcke (z.Zt. 7 Zeilen mit 24
> Spalten) sich nicht geändert haben.
Dann brauchst Du ja nur die Inhalte vergleichen?
Andreas.
Sub Test()
Const Zeilen = 7
Const Spalten = 24
Dim R1 As Range, R2 As Range
Dim X As Long, Y As Long
Dim Gleich As Boolean
'Ersten Bereich definieren
With Workbooks("Mappe1.xls").Sheets(1)
Set R1 = .Range(.Cells(1, 1), .Cells(Spalten, Zeilen))
End With
'Zweiten Bereich gleich groß definieren
With Workbooks("Mappe2.xls").Sheets(1)
Set R2 = .Range(.Cells(1, 1), .Cells(Spalten, Zeilen))
End With
'Bereiche vergleichen
Gleich = True
For Y = 1 To R1.Rows.Count
For X = 1 To R1.Columns.Count
If R1(Y, X) <> R2(Y, X) Then
'Nicht gleich
Gleich = False
End If
Next
Next
MsgBox "Gleich? " & Gleich
End Sub
>> welche Möglichkeiten habe ich, zwei Range-Objekte zu vergleichen? Dabei
>> kommt es mir nicht auf den Vergleich Zelle für Zelle an, sondern ich
>> benötige nur eine pauschale Aussage, ob die beiden Bereiche gleich sind.
> Es gibt nur den direkten Vergleich, also Zelle für Zelle.
Ok, danke für deine Antwort. Dann werde ich es wohl wie von dir
vorgeschlagen machen müssen.
Viele Grüße aus Bremen,
Stefan