2つのExcelブックを比較し、このワークブックの相違点を列挙しようとしています。2つのExcelワークブックを比較する:VBAアレイが等しくない
私は以下の行でエラー「タイプ不一致」取得しています:
If varSheetA <> varSheetB Then
コード:
Sub compareworkb()
Dim varSheetA As Variant
Dim varSheetB As Variant
Dim strRangeToCheck As String
Dim iRow As Long
Dim iCol As Long
Set wbkA = Workbooks.Open(Filename:="C:\Solution - Beginners template .xlsx")
Set wbkB = Workbooks.Open(Filename:="C:\Template_Project Lead - Beginners.xlsx")
For i = 1 To wbkA.Sheets.Count
Set varSheetA = wbkA.Worksheets(wbkA.Sheets(i).Name)
Set varSheetB = wbkB.Worksheets(wbkB.Sheets(i).Name)
strRangeToCheck = "A1:N100"
Debug.Print Now
varSheetA = varSheetA.Range(strRangeToCheck)
varSheetB = varSheetB.Range(strRangeToCheck)
Debug.Print Now
For iRow = LBound(varSheetA, 1) To UBound(varSheetA, 1)
For iCol = LBound(varSheetA, 2) To UBound(varSheetA, 2)
If varSheetA <> varSheetB Then
wbkB.Sheets(ShName).Cells(iRow, iCol).Interior.Color = vbYellow
ThisWorkbook.Sheets(1).Cells(7 + sh, 2) = "Mismatch Found"
ThisWorkbook.Sheets(1).Cells(7 + sh, 2).Interior.Color = vbYellow
End If
Next
Next
Next i
End Sub
変数 'varSheetA'と' varSheetA'は、(1つの以上のセルの範囲のための)2次元アレイを含む、あなたが>< 'との全体の配列を比較することはできません。コードはまた、前述の修正を包含します演算子。ネストされたループ内の配列の各要素をチェックする必要があります。 – omegastripes
これを修正する方法 – Stacey