|
▼T.K さん:
検索文字列のリストが書いてあるシートのB列は空いていますか?
もし空いていれば、B列に 大文字変換後の カラーインデックスを
書いておきます。
たとえば、以下のように:
「完全一致F」シート
A B
aggtca 3
agttca 7
atttca 22
tgacct 5
tgaact 8
tgaaat 17
そうしておいて、たとえば、
>Sub 完全一致F()
を次のように変えます。
Sub Try3()
Dim c As Range
Dim What
' '別シートの検索文字列リストを変数 What に取得
What = Worksheets("完全一致F").UsedRange.Resize(, 2) 'A,B2列取得
'対象範囲を順にLoopして セルごと処理
For Each c In Worksheets("クローンリスト").UsedRange.Resize(, 1)
CharToUpper c, What
Next
End Sub
'c: 対象セル Spec:検索文字列とFont色の2次元配列
Private Sub CharToUpper(c As Range, Spec As Variant)
Dim i As Long, j As Long
Dim sL As String
Dim ss As String
Dim nColor As Long
Dim wh as string
For i = 1 To UBound(Spec)
wh = Spec(i, 1)
sL = UCase$(wh) '例. wh:"aaa" sL:"AAA"
c.Value = Replace(c.Text, wh, sL) '文字列の置換
Next
ss = c.Text
For i = 1 To UBound(Spec)
sL = UCase$(Spec(i, 1))
nColor = Spec(i, 2)
Do
j = InStr(j + 1, ss, sL)
If j = 0 Then Exit Do
c.Characters(j, Len(sL)).Font.ColorIndex = nColor
Loop
Next
End Sub
|
|