| 
    
     |  | こんにちは。VBA初心者のものです。どなたかお力を貸して頂ければと思います。 EXCELのシート間における色の抽出に関してですが、
 
 例
 〔シート1〕
 A   B     ←列
 1    A   りんご(赤)
 2    B   みかん
 3    C   なし (青)
 4    D   ぶどう
 5    E    かき
 6    F    キャベツ(緑)
 7    G    きゅうり
 8    H    とまと
 ↑
 行
 
 〔シート2〕
 A    B         C    ←列
 1    A   埼玉県    なし★←青くなる
 2    B   静岡県    みかん
 3    C   静岡県    みかん
 4    D   埼玉県    キャベツ★←緑になる
 6    F    埼玉県    キャベツ(←色がつかない)
 7    G    千葉県    キャベツ(←色がつかない)
 8    H    山梨県       なし★←青くなる
 9    H    山梨県       なし(←色がつかない)
 10    H    青森県       りんご★←赤くなる
 11    H    青森県       りんご(←色がつかない)
 11    H    山梨県    なし★←青くなる
 11    H    千葉県    なし(←色がつかない)
 ↑
 行
 
 例のようなデータがあってシート1のB列のりんご・なし・キャベツにそれぞれ色がついていて
 シート2のC列に同じ文字列のものにはシート1を参照して色をつけ、
 さらにA列からC列にも色をつけるマクロを作成したいのですが、
 以下のマクロだと★印のところしか色がつかないのです。
 同じ文字列の2番目以降は色がつかないのですがどこか間違っているところがあれば指摘をお願いします。
 マクロを教えてください。
 
 Sub サンプル()
 
 Dim Sh As Worksheet
 Dim C As Range
 Dim Ck As Variant
 Dim Col As Long
 
 Set Sh = Sheets("sheet1")
 For Each C In Sheets("sheet2").Range("B1:B8")
 Col = C.Font.ColorIndex
 Ck = Application.Match(C.Value, Sh.Range("C:C"), 0)
 If Not IsError(Ck) Then
 Sh.Cells(Ck, 1).Font.ColorIndex = Col
 Sh.Cells(Ck, 2).Font.ColorIndex = Col
 Sh.Cells(Ck, 3).Font.ColorIndex = Col
 End If
 Next
 Set Sh = Nothing
 End Sub
 
 |  |