
たとえば、シートに 100(行) x 20(列) のセルがあり、各セルに 5 本の線があります。一部の線は赤で、一部の線は取り消し線でマークされています。赤のすべての線を検索するにはどうすればよいでしょうか。取り消し線のあるすべての線を検索するにはどうすればよいでしょうか。 のみで検索するにはどうすればよいでしょうかSearchFormat
。
Excel を試してみましたが、セルの一部では機能しません。5本の線がすべて赤であれfind with format
ば、見つけることができますが、2本の線だけが赤で、他の3本の線が正常である場合、2本の線を見つけることができません。match entire cell contents
ないチェックしました。
答え1
これに対する解決策が必要になりますVBA
:
始めるためのサンプル マクロは、アクティブ シート (アクティブ セルの 1 つ右のセルから開始) でテキスト定数を含むセルを検索し、次にセル内のテキストを 1 文字ずつ検索して Red を検索します。赤いテキストを含む最初のセルが見つかったら停止し、そのセルを選択します。
Sub FindColorInCells()
Dim n As Long
Dim i As Long, j As Long
Dim cl As Range
Dim r As Range
Set r = ActiveSheet.UsedRange
i = ActiveCell.Row - r.Row + 1
If i > r.Rows.Count Or i < 0 Then i = 1
j = ActiveCell.Column - r.Column + 1
If j > r.Columns.Count Or j < 0 Then j = 1
i = (r.Columns.Count * (i - 1) + j) Mod r.Cells.Count + 1
j = r.Cells.Count
Do While i <> j
With r(i)
If Not .HasFormula Then
If Len(.Value) > 0 Then
If TypeName(.Value) = "String" Then
For n = 1 To .Characters.Count
If .Characters(n, 1).Font.ColorIndex = 3 Then
' found red
.Select
Exit Sub
End If
Next
End If
End If
End If
End With
i = i Mod j + 1
Loop
End Sub