Excel VBAにて下記の通りの構文でシートを比較し、色を付けるようにしたのですが、同じ文字列があるにも関わらず色がつかない事象が発生してます。 自分なりに調べたのですが、全然わからなかったので、修正箇所が分かる方いらっしゃいましたらお教え頂きたいです。 よろしくお願いします。 Sub シートを比較し同じ値があるか確認して色をつける() Dim sht1 As Worksheet Dim sht2 As Worksheet Dim myList_1 As Variant Dim myList_2 As Variant Dim i As Long Dim j As Long Set sht1 = Sheets("meibo") Set sht2 = Sheets("check") '各シートの入力済みデータを配列に格納 sht1.Select myList_1 = sht1.Range(Rows("1:1885"), _ Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)) sht2.Select myList_2 = sht2.Range(Rows("1:615"), _ Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)) '「Sheet1」 と 「Sheet2」 を比較 For i = 2 To UBound(myList_2) For j = 2 To UBound(myList_1) '同じ値の場合、「氏」 に色をつける If myList_1(j, 3) = myList_2(i, 3) Then sht2.Cells(i, 3).Interior.Color = RGB(194, 254, 253) '同じ値の場合、「名」 に色をつける ElseIf myList_1(j, 4) = myList_2(i, 4) Then sht2.Cells(i, 4).Interior.Color = RGB(184, 151, 251) '同じ値の場合、「〒」 に色をつける ElseIf myList_1(j, 8) = myList_2(i, 8) Then sht2.Cells(i, 8).Interior.Color = RGB(253, 216, 149) '同じ値の場合、「電話番号」 に色をつける ElseIf myList_1(j, 10) = myList_2(i, 10) Then sht2.Cells(i, 10).Interior.Color = RGB(255, 183, 216) '同じ値の場合、「住所」 に色をつける Else: myList_1(j, 9) = myList_2(i, 9) sht2.Cells(i, 9).Interior.Color = RGB(152, 251, 152) End If Next j Next i Set sht1 = Nothing Set sht2 = Nothing DoEvents End Sub
Visual Basic