|
こんにちは。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
|
|