La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buona sera a tutti, sono anni che vi seguo con profitto, ora ho un problema.
Come da esempio allegato dovrei formattare di colore diverso solo la fine di certe parole.
Una alla volta è semplice, ma con molte e automaticamente non ci riesco.
Grazie.
Ciao
Si può fare solo con VBA. Prova con questa macro (relativa al tuo esempio).
Bada che devi inserire in B1 le lettere finali che vuoi colorare
Option Explicit Sub ColoraFinale() Dim rng As Range, sString As String, rCell As Range, nAt As Long, lg As Integer Set rng = Range("A2:A5") sString = Cells(1, 2).Value If sString = "" Then Exit Sub rng.Font.ColorIndex = 1 For Each rCell In rng lg = Len(rCell) With rCell nAt = InStr(.Text, sString) If nAt > 0 Then .Characters(Start:=lg - Len(sString) + 1, Length:=Len(sString)).Font.Color = RGB(255, 0, 0) End If End With Next Set rng = Nothing End Sub
Guarda che il codice sarebbe diverso se volessi colorare "parte" della parola all'interno della parola stessa (per esempio il primo th della parola thirtieth)
Prova e fai sapere.
Ciao,
Mario
ciao
Marius
questa è di Norman leggermente modificata
Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range, rcell As Range Dim i As Long, j As Long, iLen As Long Const sIntervallo As String = "A1:A10" '<<=== Modifica Const iCaratteri As Long = 2 Set Rng = Intersect(Me.Range(sIntervallo), Target) If Not Rng Is Nothing Then For Each rcell In Rng.Cells With rcell If Right(rcell, 2) = "th" Then iLen = Len(.Text) - 1 .Characters(iLen, iCaratteri).Font.Color = vbRed End If End With Next rcell End If End Sub
Ciao
Hai voglia se fai un giro in rete! Ne trovi una quantità industriale e, ovviamente, sono tutte simili.
Ciao,
Mario