Mam kolumnę tekstu, w której niektóre znaki (nie komórki) są napisane czerwoną czcionką. Czy istnieje sposób wyróżnienia komórek zawierających czerwone znaki za pomocą formatowania warunkowego? Rozwiązania VBA również byłyby w porządku.
źródło
Mam kolumnę tekstu, w której niektóre znaki (nie komórki) są napisane czerwoną czcionką. Czy istnieje sposób wyróżnienia komórek zawierających czerwone znaki za pomocą formatowania warunkowego? Rozwiązania VBA również byłyby w porządku.
Nie znam żadnych wbudowanych funkcji, które sprawdzałyby indywidualny kolor każdego znaku w komórce, jednak można napisać jedną w VBA.
Ta funkcja będzie iterować po każdym znaku i zwróci wartość true, jeśli jeden z znaków jest czerwony. Uwaga: ten kod działa tylko na standardowym czerwonym, który jest dostępny, nie będzie działać na wszystkich odcieniach.
'Only works on the standard Red Colour
Function ContainsRed(CellCheck As Range) As Boolean
For i = 1 To Len(CellCheck.Value) Step 1
If CellCheck.Characters(i, 1).Font.Color = vbRed Then
ContainsRed = True
Exit Function
End If
Next i
ContainsRed = False
End Function
Po utworzeniu formuły możesz utworzyć nową regułę formatowania. Kliknij kartę główną, formatowanie warunkowe, nową regułę.
Do użytku z kolumną A
Kliknij ostatnią opcję „Użyj formuły, aby określić, które komórki sformatować” i użyj formuły w ten sposób: = ContainsRed (A2)
Kliknij Ok i zmień zastosowanie do Stosuje się do wybranej kolumny, w tym przypadku będzie to $ A: $ A.
Pomoc dotyczącą formatowania warunkowego można znaleźć tutaj.
Set ws = Sheets("Cost Analysis compare")
For r = 1 To 104
For c = 1 To 36
If (ws.Cells(r, c).Font.Color = 255) Then
ws.Cells(r, c).Interior.ColorIndex = 44
End If
Next c
Next r