Tom osserva giustamente che in Word puoi usare Trova e sostituisci per rendere in grassetto tutte le occorrenze di una parola. (Cerca la parola, sostituiscila con la stessa parola con la formattazione in grassetto attivata.) Si chiede come può fare la stessa cosa in Excel.

La risposta dipende, in parte, dalla versione di Excel che stai utilizzando. Se utilizzi Excel 2002 o una versione successiva di Excel, la risposta è semplice: lo fai praticamente nello stesso modo in cui lo fai in Word. Segui questi passaggi:

  1. Premere Ctrl + H per visualizzare la scheda Sostituisci della finestra di dialogo Trova e sostituisci.

  2. Fare clic sul pulsante Opzioni per espandere la finestra di dialogo. (Vedi figura 1.)

  3. Nella casella Trova, inserisci la parola che desideri rendere in grassetto.

  4. Immettere la stessa parola nella casella Sostituisci con.

  5. Fare clic sul pulsante Formato a destra della casella Sostituisci con. Excel visualizza la finestra di dialogo Sostituisci formato.

  6. Fare clic sulla scheda Carattere. (Vedi figura 2.)

  7. Nell’elenco Stile carattere, scegli Grassetto.

  8. Fare clic su OK per chiudere la finestra di dialogo Sostituisci carattere.

  9. Fare clic su Sostituisci tutto per eseguire le sostituzioni.

Anche se questo sembra abbastanza semplice, è necessario ricordare che questi passaggi modificano la formattazione di intere celle, non solo le parole all’interno di una cella.

Pertanto, se cercassi e sostituissi la parola “marrone”, qualsiasi cella che conteneva la parola “marrone” sarebbe stata resa in grassetto: l’intera cella, non solo la parola.

Se stai utilizzando una versione precedente di Excel (Excel 97 o Excel 2000) o desideri influire solo sulle parole all’interno della cella, questi passaggi non funzioneranno. Invece dovrai ricorrere a una macro per eseguire il grassetto.

Fondamentalmente, avrai bisogno di una macro che esamini un foglio di lavoro e determini cosa può essere modificato. (Non è possibile rendere in grassetto singole parole o cifre nelle formule o nei valori numerici; è possibile apportare modifiche solo alla formattazione a livello di parola per le costanti di testo.)

Una volta che la macro trova le celle che può elaborare, deve cercare tra le celle la parola desiderata e quindi rendere il testo in grassetto. La seguente macro implementa proprio questa strategia:

Sub FindAndBold()

Dim sFind As String     Dim rCell As Range     Dim rng As Range     Dim lCount As Long     Dim iLen As Integer     Dim iFind As Integer     Dim iStart As Integer

On Error Resume Next     Set rng = ActiveSheet.UsedRange. _       SpecialCells(xlCellTypeConstants, xlTextValues)

On Error GoTo ErrHandler     If rng Is Nothing Then         MsgBox "There are no cells with text"

GoTo ExitHandler     End If

sFind = InputBox( _       Prompt:="What do you want to BOLD?", _       Title:="Text to Bold")

If sFind = "" Then         MsgBox "No text was listed"

GoTo ExitHandler     End If

iLen = Len(sFind)

lCount = 0

For Each rCell In rng         With rCell             iFind = InStr(.Value, sFind)

Do While iFind > 0                 .Characters(iFind, iLen).Font.Bold = True                 lCount = lCount + 1                 iStart = iFind + iLen                 iFind = InStr(iStart, .Value, sFind)

Loop         End With     Next

If lCount = 0 Then         MsgBox "There were no occurrences of" & _           vbCrLf & "' " & sFind & " '" & _           vbCrLf & "to bold."

ElseIf lCount = 1 Then         MsgBox "One occurrence of" & _           vbCrLf & "' " & sFind & " '" & _           vbCrLf & "was made bold."

Else         MsgBox lCount & " occurrences of" & _           vbCrLf & "' " & sFind & " '" & _           vbCrLf & "were made bold."

End If

ExitHandler:

Set rCell = Nothing     Set rng = Nothing     Exit Sub

ErrHandler:

MsgBox Err.Description     Resume ExitHandler End Sub

La macro imposta innanzitutto l’intervallo di ricerca su quelle celle che contengono costanti di testo. Quindi richiede all’utente una parola che deve essere modificata.

Una volta inserita, la macro inizia quindi a guardare attraverso tutte le celle dell’intervallo. Ogni cella viene controllata per vedere se contiene la parola di destinazione. In tal caso, viene impostata la proprietà .Bold per quei caratteri e la macro continua la ricerca.

La macro tiene traccia anche di quante modifiche sono state apportate, visualizzando le modifiche totali al termine del suo lavoro.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2414) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: