2016-03-28 18 views
0

2つの同じサイズのテーブルの値を比較し、一致しない値を強調するコードを記述しようとしました。私が思いついたコードは、範囲の最後のセルを強調表示しているようです。私はここで非常にシンプルなものを見落としていると思う。これを整理する助けがあれば大いに感謝します。私は以下のコードを記しています。あなたのforループでExcel 2つのテーブルを比較し、不一致を強調するためのVBAコード

Sub Compare_Table() 

Dim oldTable As Range, newTable As Range, i As Integer, j As Integer, m As Integer, n As Integer 
Set oldTable = Application.InputBox(Prompt:="Please Select old values", Title:="Range Select", Type:=8) 
Set newTable = Application.InputBox(Prompt:="Please Select new values", Title:="Range Select", Type:=8) 

i = oldTable.Rows.Count 
j = oldTable.Columns.Count 


For m = 1 To i 
    For n = 1 To j 
     If oldTable.Cells(i, j) = newTable.Cells(i, j) Then 
      newTable.Cells(i, j).Interior.ColorIndex = 6 
     Else 
      newTable.Cells(i, j).Interior.ColorIndex = 3 
     End If 

    Next n 
Next m 

End Sub 
+0

それがExcelでVBAまたはモジュールから直接なり、条件付き書式を使用してはるかに効率的です。この後者のケースでは、正しい道であなたを得ることができるJeepedによってきちんと答えた最近のポストがあります – user3598756

答えて

0

メイク、次の変更:

For m = 1 To i 
    For n = 1 To j 
     If oldTable.Cells(m, n) = newTable.Cells(m, n) Then 
      newTable.Cells(m, n).Interior.ColorIndex = 6 
     Else 
      newTable.Cells(m, n).Interior.ColorIndex = 3 
     End If 

    Next n 
Next m 
+0

うわー!百万のおかげでありがとう!私は信じられないほど愚かな気がする! – ExcelNoob

+0

うれしい私は助けることができます。 – Mrig

関連する問題