ich mit dem folgenden VBA-Code Bereiche in Excel zu vergleichen versuchen:Vergleichen Sie zwei Bereiche VBA
Sub CompareTwoRanges()
Dim wb As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim rng1 As Range
Dim rng2 As Range
Set wb = ThisWorkbook
Set ws1 = wb.Sheets("Sheet1")
Set ws2 = wb.Sheets("Sheet2")
Set rng1 = ws1.Range("A14:C14")
Set rng2 = ws2.Range("N3:P3")
If rangesAreEqual(rng1, rng2, ws1, ws2) Then
MsgBox "The ranges are equal."
Else
MsgBox "Sorry. The ranges are NOT equal."
End If
End Sub
Function rangesAreEqual(rng1 As Range, rng2 As Range, _
ws1 As Worksheet, ws2 As Worksheet) As Boolean
' booleans default to false
' verify ranges have same dimensions
If rng1.Columns.Count <> rng2.Columns.Count Then Exit Function
If rng1.Rows.Count <> rng2.Rows.Count Then Exit Function
' ranges are the same size. are their contents equal?
rangesAreEqual = ws1.Evaluate("=AND(EXACT(" & ws1.Name & "!" & _
rng1.Address & "," & ws2.Name & "!" & rng2.Address & "))")
End Function
Allerdings bin ich den Fehler Type Mismatch bekommen.
Jeder hat Ideen, was das Problem ist?
Ich habe diesen Code von einem anderen Beitrag (Compare Two Ranges) aber ich kann nicht kommentieren, um die Person zu fragen, die den Code veröffentlicht, warum ich dieses Problem bekommen könnte.
Auf welcher Zeile erhalten Sie den Fehler? –
Dies wurde beantwortet: https://stackoverflow.com/questions/22270693/fastest-way-to-check-if-two-range-are-equal-in-excel-vba – Jsleshem
Ich bekomme den Fehler in Zeile 10 – bmartin598