我想比較的範圍在Excel中使用下列VBA代碼:比較兩個範圍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
但是我得到的錯誤類型不匹配。
任何人有問題是什麼想法呢?
我從另一個崗位(Compare Two Ranges)這個代碼,但是我不能發表評論我要請問誰發佈的代碼,爲什麼我可能會得到這個問題的人。
你會在哪一行發生錯誤? –
這已被回答:https://stackoverflow.com/questions/22270693/fastest-way-to-check-if-two-ranges-are-equal-in-excel-vba – Jsleshem
我得到第10行的錯誤 – bmartin598