
Beispielsweise gibt es in einem Blatt 100 (Zeilen) x 20 (Spalten) Zellen und jede einzelne Zelle hat 5 Zeilen. Einige Zeilen sind rot, andere durchgestrichen usw. Wie kann ich alle rot markierten Zeilen durchsuchen? Wie kann ich alle durchgestrichenen Zeilen finden? Wie kann ich nur nach suchen SearchFormat
?
Ich habe es mit Excel versucht find with format
, aber es funktioniert nicht für einen Teil einer Zelle. Wenn alle 5 Zeilen rot sind, kann es sie finden; aber wenn nur 2 Zeilen rot sind und die anderen 3 Zeilen normal sind, kann es die 2 Zeilen nicht finden, selbst wenn match entire cell contents
esnichtgeprüft.
Antwort1
Sie benötigen VBA
hierfür eine Lösung:
Hier ist ein Beispielmakro, das Ihnen den Einstieg erleichtert. Es durchsucht das aktive Blatt (beginnend bei einer Zelle rechts neben der aktiven Zelle) nach Zellen, die Textkonstanten enthalten, und durchsucht dann den Text in der Zelle Zeichen für Zeichen nach Rot. Es stoppt und wählt die erste Zelle aus, die es findet und die roten Text enthält.
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