Jämföra cellområden
Här demonstreras en enkel teknik för att jämföra cellområden med varandra.
Exemplet skriver ut de cellladresser vars värden stämmer överens med varandra - detta i ett demonstrativt syfte.
Sub Jamfora_Cellomraden()
'© 2001 Alla rättigheter XL-Dennis
Dim rnEtt As Range, rnTva As Range
Dim iAntal As Integer, i As Integer, j As Integer
Set rnEtt = ActiveWorkbook.Sheets("Blad1").Range("A2:B10")
Set rnTva = ActiveWorkbook.Sheets("Blad1").Range("C2:D10")
'Kontrollera att cellområdena är lika stora, såväl antal
'rader som kolumner.
If rnEtt.Rows.Count = rnTva.Rows.Count And _
rnEtt.Columns.Count = rnTva.Columns.Count Then
iAntal = 0
'Här jämförs cellvärdena med varandra.
For i = 1 To rnEtt.Rows.Count
For j = 1 To rnEtt.Columns.Count
If rnEtt(i, j).Value = rnTva(i, j).Value Then
rnTva(i, j).Offset(0, 2).Value = rnEtt(i, j).Address
rnTva(i, j).Offset(0, 3).Value = rnTva(i, j).Address
Else
iAntal = iAntal + 1
End If
Next j
Next i
'Om alla celler matchar varandra så visas följande meddelande.
If iAntal = (i - 1) * (j - 1) Then
MsgBox "Alla celler matchar varandra."
End If
'Felmeddelande om cellområdena storlek inte är identiska.
Else
MsgBox "Cellområdena är inte av samma storlek!", vbCritical
End If
End Sub