2016-03-28 17 views
0

Aynı büyüklükteki iki tablodaki değerleri karşılaştıran ve eşleşmeyen değerleri vurgulayan bir kod yazmaya çalışıyorum. Geldiğim kod sadece aralığın son hücresini vurgulamak gibi görünüyor. Sanırım burada çok basit bir şeye bakıyorum. Bunu çözmek için herhangi bir yardım çok takdir edilecektir. Aşağıdaki kodu koydum.İki tabloyu karşılaştırmak ve uyumsuzlukları vurgulamak için Excel VBA kodu

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

, doğrudan Excel'de veya VBA modülünden olsun. Bu ikinci durumda, Jeeped tarafından güzelce yanıtlanan oldukça yeni bir yayın var. Bu, sizi doğru yola sokacak – user3598756

cevap

0

olun değişikliği izleyen for döngüsü: çok daha verimliydi koşullu biçimlendirme kullanıyor

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

Wow! Bir milyon Mrig teşekkürler! Şimdi inanılmaz aptalım! – ExcelNoob

+0

Sevindim Yardımcı olabilirim. – Mrig