|    | 
     ▼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 
 | 
     
    
   |