Come mettere in grassetto tutte le parole specifiche in un intervallo di celle?

In Excel, la funzione Trova e Sostituisci può aiutarci a trovare qualsiasi testo specifico e applicare il grassetto o qualsiasi altra formattazione all'intera cella. Ma hai mai provato a mettere in grassetto solo il testo specifico all'interno delle celle, non l'intera cella come mostrato nello screenshot qui sotto:
Metti in grassetto tutte le parole specifiche in un intervallo di celle con il codice VBA
Metti in grassetto tutte le parole specifiche in un intervallo di celle con il codice VBA
Il seguente codice VBA potrebbe aiutarti a mettere in grassetto solo il testo specifico nel contenuto di una cella, procedi come segue:
1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo, e incolla il seguente codice nella finestra del Modulo.
Codice VBA: Metti in grassetto il testo specifico in un intervallo di celle
Sub FindAndBold()
'Updateby Extendoffice 20160711
Dim xFind As String
Dim xCell As Range
Dim xTxtRg As Range
Dim xCount As Long
Dim xLen As Integer
Dim xStart As Integer
Dim xRg As Range
Dim xTxt As String
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("Please select data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
On Error Resume Next
Set xTxtRg = Application.Intersect(xRg.SpecialCells(xlCellTypeConstants, xlTextValues), xRg)
If xTxtRg Is Nothing Then
MsgBox "There are no cells with text"
Exit Sub
End If
xFind = Trim(Application.InputBox("What do you want to BOLD?", "Kutools for Excel", , , , , , 2))
If xFind = "" Then
MsgBox "No text was listed", vbInformation, "Kutools for Excel"
Exit Sub
End If
xLen = Len(xFind)
For Each xCell In xTxtRg
xStart = InStr(xCell.Value, xFind)
Do While xStart > 0
xCell.Characters(xStart, xLen).Font.Bold = True
xCount = xCount + 1
xStart = InStr(xStart + xLen, xCell.Value, xFind)
Loop
Next
If xCount > 0 Then
MsgBox "number of " & CStr(xCount) & " text be bolded!", vbInformation, "Kutools for Excel"
Else
MsgBox "Not find the specific text!", vbInformation, "Kutools for Excel"
End If
End Sub
3. Quindi premi il tasto F5 per eseguire questo codice, e apparirà una finestra di dialogo che ti ricorda di selezionare l'intervallo dati che desideri mettere in grassetto, vedi screenshot:
4. Dopodiché clicca su OK, apparirà un'altra finestra che ti chiederà di inserire il testo specifico che vuoi mettere in grassetto solo nelle celle, vedi screenshot:
5. Dopo aver inserito il testo, clicca sul pulsante OK, e tutto il testo che hai specificato sarà messo in grassetto nell'intervallo selezionato, vedi screenshot:
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!