| 
    
     |  | 弘美 さん、Asakiさん、おはようございます。 
 >早速ですがVBAでセルとセルの内容を比較する方法を調べています。
 >内容だけならわかるのですがセルの内容全て(書式(網掛けの色とか文字色など)、コメントの有無、内容、)比較したいのです。
 >どなたか教えてくださいませんか。 よろしくお願い致します。
 
 Asakiさんがおっしゃっているように地道に比較をするということは
 同感なんですが・・。
 
 CallByNameという関数を使用してみると少しだけコードが簡単になるかもしれませんよ。
 
 一例ですが、
 '====================================================
 Type att
 p_type As Long 'p_nameが  0:プロパティ 1:オブジェクト
 p_name As String 'プロパティ名
 sp_name As String 'p_nameがオブジェクトの場合のプロパティ名
 End Type
 
 
 '====================================================
 Sub Samp1()
 Dim myRange As Range
 Dim myPrName(1 To 6) As att
 Dim i As Integer
 Dim mes As String
 myPrName(1).p_name = "NumberFormatLocal"
 myPrName(1).p_type = 0
 myPrName(2).p_name = "value"
 myPrName(2).p_type = 0
 myPrName(3).p_name = "Interior"
 myPrName(3).p_type = 1
 myPrName(3).sp_name = "colorindex"
 myPrName(4).p_name = "Interior"
 myPrName(4).p_type = 1
 myPrName(4).sp_name = "PatternColorIndex"
 myPrName(5).p_name = "Font"
 myPrName(5).p_type = 1
 myPrName(5).sp_name = "ColorIndex"
 myPrName(6).p_name = "Style"
 myPrName(6).p_type = 0
 Set myRange = Selection
 
 For i = 1 To 6
 With myPrName(i)
 If .p_type = 0 Then
 mes = mes & .p_name & vbTab & _
 CallByName(myRange, .p_name, VbGet) & vbCr
 Else
 Set obj = CallByName(myRange, .p_name, VbGet)
 mes = mes & .p_name & "." & .sp_name & vbTab & _
 CallByName(obj, .sp_name, VbGet) & vbCr
 End If
 End With
 Next i
 
 MsgBox mes
 
 End Sub
 
 確認して下さい
 
 
 |  |