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
