Krótki opis problemu
Potrzebujemy zmienić kolor tylko wybranych słów/fraz w zaznaczonych komórkach Excela. Sam Excel sobie z tym nie poradzi dlatego musimy napisać odpowiedni kod VBA.
Kod
Sub ZmieńKolor()
Dim MojeSłowo As String, Długość As Integer, i As Integer
Dim r As Range, SF As Integer
'Jakie słowo frazę chcesz zmienić
MojeSłowo = InputBox("Podaj słowo jakie chcesz pomalować na czerwono")
'Długość słowa/frazy, którą chcesz zmienić
Długość = Len(MojeSłowo)
'Pętla po wszystkich komórkach ® w zaznaczonym obszarze (Selection)
For Each r In Selection
'Pętla po znakach w aktualnej komórce
For i = 1 To Len(r.Value)
'Ponieważ może nie znaleźć słowa w komórce potrzebujemy obsługiwać
'błąd wystarczy, że każemy VBA przejść dalej
On Error Resume Next
SF = 0
'rozróżnia wielkość liter
SF = WorksheetFunction.Find(MojeSłowo, r.Value, i)
'Nie zwraca uwagi na małe wielkie
'SF = WorksheetFunction.Find(UCase(MojeSłowo), UCase(r.Value), i)
'Wracamy do normalnej obsługi błędu
On Error GoTo 0
'Jeśli zmienna SF większa od zera to znaczy, że tekst został
'odnaleziony, czyli zmieniamy kolor części tekstu
If SF > 0 Then
r.Characters(Start:=SF, Length:=Długość).Font.Color = RGB(255, 0, 0)
i = SF + 1
'jeśli nie to kończymy pętlę i przechodzimy do sprawdzania następnej komórki
Else
Exit For
End If
Next i
Next r
End Sub
Pozdrawiam
Adam Kopeć
Miłośnik Excela
Czy funkcję tą można uruchomić w arkuszach google ?
Takie info znalazłem:
https://support.google.com/docs/answer/9331168?hl=pl